Te2000 TC3 Hmi en
Te2000 TC3 Hmi en
Te2000 TC3 Hmi en
TE2000
TwinCAT 3 | HMI Engineering
Table of contents
1 Foreword .................................................................................................................................................... 9
1.1 Notes on the documentation ............................................................................................................. 9
1.2 Safety instructions ........................................................................................................................... 10
1.3 Notes on information security.......................................................................................................... 11
2 Overview .................................................................................................................................................. 12
2.1 Product description ......................................................................................................................... 12
2.2 Scenarios ........................................................................................................................................ 12
2.3 Architecture ..................................................................................................................................... 16
2.3.1 Engineering ...................................................................................................................... 16
2.3.2 Client/Server .................................................................................................................... 16
2.4 Business model ............................................................................................................................... 17
3 Installation ............................................................................................................................................... 18
3.1 System requirements ...................................................................................................................... 18
3.2 Version overview ............................................................................................................................. 19
3.2.1 Modifications .................................................................................................................... 20
3.3 Installation ....................................................................................................................................... 20
3.4 Licensing ......................................................................................................................................... 23
5.4.2 Controls............................................................................................................................ 67
5.4.3 Functions.......................................................................................................................... 68
5.4.4 Action Templates ............................................................................................................. 69
5.5 Document Outline ........................................................................................................................... 72
5.6 LiveView .......................................................................................................................................... 72
5.7 TwinCAT HMI Configuration ........................................................................................................... 75
5.7.1 Server symbols ................................................................................................................ 77
5.7.2 Internal symbols ............................................................................................................... 85
5.7.3 Localizations .................................................................................................................... 86
5.7.4 Data types ........................................................................................................................ 87
5.7.5 Parameter ........................................................................................................................ 95
5.7.6 Controls............................................................................................................................ 96
5.7.7 Global Events................................................................................................................... 97
5.7.8 Functions.......................................................................................................................... 98
5.7.9 Files.................................................................................................................................. 99
5.7.10 Users and user groups................................................................................................... 100
5.7.11 Client certificates............................................................................................................ 100
5.7.12 Action Templates ........................................................................................................... 101
5.7.13 Recipe management ...................................................................................................... 101
5.7.14 Permissions Management.............................................................................................. 102
5.8 Localization editor ......................................................................................................................... 102
5.9 Symbols and Bindings................................................................................................................... 103
5.9.1 Create binding................................................................................................................ 104
5.9.2 Create function binding .................................................................................................. 106
5.9.3 Configure binding ........................................................................................................... 107
5.10 Controls ......................................................................................................................................... 109
5.10.1 General configuration..................................................................................................... 111
5.10.2 Beckhoff ......................................................................................................................... 119
5.10.3 System ........................................................................................................................... 690
5.10.4 User controls .................................................................................................................. 780
5.10.5 Framework controls........................................................................................................ 780
5.10.6 Control rights.................................................................................................................. 780
5.10.7 BaseTemplate ................................................................................................................ 780
5.10.8 Responsive navigation ................................................................................................... 809
5.11 Functions....................................................................................................................................... 850
5.11.1 Binding ........................................................................................................................... 850
5.11.2 Data Conversion ............................................................................................................ 852
5.11.3 Diagnostics..................................................................................................................... 860
5.11.4 Formatting ...................................................................................................................... 861
5.11.5 Locale............................................................................................................................. 863
5.11.6 Recipe ............................................................................................................................ 865
5.11.7 Theme ............................................................................................................................ 868
5.11.8 UserManagement........................................................................................................... 869
5.12 Publishing...................................................................................................................................... 874
5.12.1 Autostart Server ............................................................................................................. 877
5.12.2 Autostart Client............................................................................................................... 878
9 Themes................................................................................................................................................... 934
9.1 Introduction ................................................................................................................................... 934
9.2 Theme editor ................................................................................................................................. 936
9.2.1 Class theme ................................................................................................................... 937
9.2.2 Control theme................................................................................................................. 940
9.2.3 CSS theme..................................................................................................................... 941
9.3 Theme switching ........................................................................................................................... 943
18 FAQ....................................................................................................................................................... 1331
18.1 General ....................................................................................................................................... 1331
18.2 Server.......................................................................................................................................... 1331
1 Foreword
The responsible staff must ensure that the application or use of the products described satisfy all the
requirements for safety, including all the relevant laws, regulations, guidelines and standards.
Disclaimer
The documentation has been prepared with care. The products described are, however, constantly under
development.
We reserve the right to revise and change the documentation at any time and without prior announcement.
No claims for the modification of products that have already been supplied may be made on the basis of the
data, diagrams and descriptions in this documentation.
Trademarks
Beckhoff®, TwinCAT®, TwinCAT/BSD®, TC/BSD®, EtherCAT®, EtherCAT G®, EtherCAT G10®, EtherCAT P®,
Safety over EtherCAT®, TwinSAFE®, XFC®, XTS® and XPlanar® are registered trademarks of and licensed by
Beckhoff Automation GmbH.
Other designations used in this publication may be trademarks whose use by third parties for their own
purposes could violate the rights of the owners.
Patent Pending
The EtherCAT Technology is covered, including but not limited to the following patent applications and
patents:
EP1590927, EP1789857, EP1456722, EP2137893, DE102015105702
with corresponding applications or registrations in various other countries.
EtherCAT® is a registered trademark and patented technology, licensed by Beckhoff Automation GmbH,
Germany
Copyright
Exclusion of liability
All the components are supplied in particular hardware and software configurations appropriate for the
application. Modifications to hardware or software configurations other than those described in the
documentation are not permitted, and nullify the liability of Beckhoff Automation GmbH & Co. KG.
Personnel qualification
This description is only intended for trained specialists in control, automation and drive engineering who are
familiar with the applicable national standards.
Description of symbols
In this documentation the following symbols are used with an accompanying safety instruction or note. The
safety instructions must be read carefully and followed without fail!
DANGER
Serious risk of injury!
Failure to follow the safety instructions associated with this symbol directly endangers the life and health of
persons.
WARNING
Risk of injury!
Failure to follow the safety instructions associated with this symbol endangers the life and health of per-
sons.
CAUTION
Personal injuries!
Failure to follow the safety instructions associated with this symbol can lead to injuries to persons.
NOTE
Damage to the environment or devices
Failure to follow the instructions associated with this symbol can lead to damage to the environment or
equipment.
Tip or pointer
This symbol indicates information that contributes to better understanding.
In addition, the recommendations from Beckhoff regarding appropriate protective measures should be
observed. Further information regarding information security and industrial security can be found in our
https://www.beckhoff.com/secguide.
Beckhoff products and solutions undergo continuous further development. This also applies to security
functions. In light of this continuous further development, Beckhoff expressly recommends that the products
are kept up to date at all times and that updates are installed for the products once they have been made
available. Using outdated or unsupported product versions can increase the risk of cyber threats.
To stay informed about information security for Beckhoff products, subscribe to the RSS feed at https://
www.beckhoff.com/secinfo.
2 Overview
Controls from the toolbox can be arranged on the user interface and linked with real-time variables, e.g. from
the PLC or from a C++ module. User Controls can be used to graphically create and configure specific
controls. JavaScript developers can develop their own controls. During development, the functionality can be
tested with live data from the real-time system. Modifications are also possible in this live mode.
The logic of the HMI can either be implemented on the client side in JavaScript or as a server extension. A
server extension allows you to develop extensions in C#.
Because the HMI is web-based and responsive - based on HTML5 and JavaScript - the resolution and
orientation adapt automatically. This allows the same page to be used for different display sizes, aspect
ratios and orientations.
2.2 Scenarios
The HMI can be integrated into a wide range of scenarios.
In a network, different controllers can exchange their data with one or more clients. The clients can run on
local PCs or Panel PCs, or on mobile devices such as tablets or smartphones.
Local-Client
Multi-client
An HMI can be configured for different resolutions and can be called up by several devices simultaneously.
Multi-runtime
The TwinCAT HMI can connect several real-time systems. TwinCAT runtimes can be programmed in PLC
languages, C/C++ or MATLAB®/Simulink®.
Multi-protocol
The TwinCAT HMI server can communicate with all TwinCAT runtimes via the ADS extension. Third-party
controllers can be connected via the OPC UA extension. Additional protocols can also be integrated via the
Server Extensions SDK.
Multi-server
The TwinCAT HMI server can communicate with other TwinCAT HMI servers. This enables so-called server-
to-server communication. Server-to-server communication offers the possibility of exchanging any data
points among the servers. This enables, for example, higher-level systems to be created.
2.3 Architecture
2.3.1 Engineering
The TwinCAT HMI integrates into the Visual Studio® development environment from Microsoft. TwinCAT3
provides the free Visual Shell, which can also be used with the TwinCAT HMI. This allows you to develop the
PLC and the HMI in one tool. TwinCAT HMI Creator is an editor for graphical development of the HMI. The
TwinCAT HMI framework comes with predefined controls. Communication with the TwinCAT HMI Server
takes place via secure network connections. The TwinCAT HMI Server has a modular structure. HMI Server
Extensions provide additional functions. Furthermore, you can develop your own customer extensions to
execute non-real-time-relevant business logics centrally in the server. The TwinCAT ADS protocol
(Automation Device Specification) is supported, which enables communication with all TwinCAT devices.
2.3.2 Client/Server
The TwinCAT HMI is essentially based on a client-server architecture. No additional software installation is
required for the TwinCAT HMI Client. It is an HTML5-capable web browser that does not require any
additional extensions. The browser connects to the TwinCAT HMI server, which provides the HMI in a virtual
directory (WWW root). The HMI is passed to the client via HTTP(S) protocol. The HMI project consists of
content such as pages and images and the TwinCAT HMI framework, which is based on JavaScript and
dynamizes the web-based HMI. Among other things, the framework provides the controls and establishes a
secure web socket connection (WS(S)) to the server in order to be able to communicate with it.
The TwinCAT HMI server has a modular structure. Additional functionalities can be provided via server
extensions, such as the messaging system or other protocols. The server supports the TwinCAT ADS
protocol and can therefore communicate with all TwinCAT devices. Third-party systems can be connected
via OPC UA extensions.
3 Installation
* Visual Studio® updates can be found via the menu item "Extras/Extensions and Updates".
A full version of Visual Studio® is required for developing server extensions. The TwinCAT XAE
Shell is not sufficient.
Version 1.10
Version 1.8
3.2.1 Modifications
Note that there may be small differences in behavior between different versions. If this requires a
change when using the newer version, this is documented below.
3.3 Installation
The TwinCAT 3 function for Windows-based operating systems is installed step-by-step.
1. Close all running Visual Studio instances so that the setup can integrate into the installed Visual Studio
environments.
2. Double-click the downloaded file TE2000-HMI-Engineering.
Start the installation under Windows with "Run As Admin" by right-clicking the setup files and selecting
the corresponding option in the context menu.
3. Select the language to guide you through the installation.
7. If not all Visual Studio instances are closed, the setup will pause.
8. Please close all Visual Studio instances and click Retry.
ð The installation is complete and the TE2000 HMI Engineering is integrated into the Visual Studio
environment with its own project templates.
3.4 Licensing
If no TF2000 HMI server license is available on the Engineering system when a TwinCAT HMI project is first
created, a 7-day test license can be generated. The suggested character string must be typed and confirmed
with OK.
The trial license can be renewed at any time after it has expired.
4. Open the Manage Licenses tab and add a Runtime License for your product (in this screenshot
TF2000: TC3 HMI Server).
5. Optional: If you wish to add the license for a remote device, you must first connect to this device via the
TwinCAT XAE toolbar
7. Optionally, you can enter your own order number and a comment for your own needs
8. On the Order Information tab, click the Generate License Request File... button to generate a license
request file that is validated by a Beckhoff license server (if you do not know your Beckhoff License ID ,
contact your Beckhoff sales representative).
9. After you have saved the License Request File, the system asks whether the file should be sent to the
Beckhoff license server by email:
10. If you confirm the dialog with Yes, your default email client opens and creates a new email for
[email protected] containing the license request file.
11. Send this activation request to Beckhoff
The License Response File is sent to the same email address that sent the License Request File.
12. Shortly afterwards, you will receive a license file from the Beckhoff license server.
Import the file via the Activate License Response File... button to activate the product
13. Select the License Response File you received in your folder system
14. The License Response File is imported and all licenses contained in it are activated (all affected demo
licenses are removed)
ð The license file is automatically copied to your local hard disk under ...\TwinCAT\3.1\Target\License.
4 Quick start
VS2019 (dialog)
ü Start Visual Studio® or the TwinCAT XAE Shell.
HMI:
• TwinCAT HMI Project
• TwinCAT HMI Project Generator [} 996] (Quick Start [} 1004])
HMI Framework:
• TwinCAT HMI Framework Project [} 1269]
• TwinCAT HMI Framework Project Empty [} 1269]
1 Solution Explorer
The Solution Explorer displays the HMI project tree. It is possible to add and manage various project types in
one Solution. For example, it is possible to add a TwinCAT 3 project to the same Solution as a TwinCAT HMI
project.
2 Toolbox
The Toolbox contains all the available visualization elements, known as controls. These can be added to the
graphic editor of the designer ⑤ by drag-and-drop. A predefined set of controls is supplied with the TwinCAT
HMI.
3 Properties
The Properties window displays various properties depending on the object that is selected. The selected
object could be a visualization control in the graphic editor of the Designer ⑤ or the Document Outline
respectively, or it could be an object in the Solution Explorer ①.
If you have selected a visualization control there are three different views between which you can switch
using the following buttons:
The left button (wrench) displays the general view with the various properties of this control. The central
button (lightning bolt) displays all available events and the right button (lock) is for viewing the access rights
to this control.
The Document Outline displays an overview of all the controls that have been added to the Designer ⑤. As
in the graphic editor, individual elements can be selected directly in the Document Outline, for example in
order to change their properties in the Properties window. Controls can also be moved in the Document
Outline, for example into or out of a container.
5 Designer
The Designer is the front-end development tool and is divided into two editors – a graphic editor in which
controls can be added from the Toolbox ② by drag-and-drop and then changed in the Properties window ③,
and a code editor. The code is generated automatically in the background and can be directly and
synchronously edited. In the top right-hand corner there are two buttons ⑨ for switching between these two
editors. The three buttons in the bottom right-hand corner ⑪ are used to display both editors at the same
time and to select the arrangement of the windows.
There are various quick-access buttons ⑩ on the right-hand side. With these buttons you can open the
Document Outline ④, the TwinCAT HMI Configuration ⑥, the TwinCAT HMI Gallery Explorer ⑦ and the
TwinCAT HMI LiveView ⑧.
The configuration is the central TwinCAT HMI tool window, where you can access all available types of
symbols (e.g. server symbols, internal symbols and localizations) and the User Management settings.
The Gallery Explorer contains predefined graphics that can be added directly to the graphic editor or to the
Solution tree by drag-and drop.
In the LiveView the visualization can be tested directly online without having to download the changes first. It
can be started as an additional tool window inside Visual Studio (left-hand tab) or in a web browser by URL
link (right-hand tab).
You can add a logical operation to each event that will be executed automatically if the event occurs. To add
a logical operation, select one of the events and click on the pencil button:
The "Actions and Conditions [} 59]" dialog opens, a graphic editor for implementing your logical operation.
You can also double-click on the control to implement a standard event. In the case of a button, for example,
the standard event would be "is pressed".
The editor consists of a left-hand and a right-hand part. In the left-hand part, all predefined actions are
available in a tree view. The right-hand part is a graphic editor into which the actions and functions can be
dragged and dropped.
In case a special logical operation is to be used several times you can build your own templates, which can
then be found later in the Toolbox under the category "Action templates [} 69]". You can manipulate the
Action Templates with the menu bar of the Toolbox, e.g. add, edit, delete, copy and paste. The Action
Templates dialog has the same base functions as the "Actions and Conditions" editor, plus a name box and
an area for editing the template parameters.
3. Click on the New Symbol button , double-click on create new internal symbol or drag create
new internal symbol onto the desired destination.
4. Enter the data type, a symbol name and a default value.
3. The first way is to use the dialog Select Binding Source. To do this, click on the button to the right of
the property of the entry.
5. In the dialog Select Binding Source you will find all types of available symbols on the various tabs:
Server symbols: all symbols that are available on the server under the ADS entry, e.g. the PLC variables.
Internal symbols: all internal symbols that have been created in the Configuration [} 77] (see: Adding an
internal variable [} 38])
Localizations: Localization symbols, i.e. the localized text entries that you have created in the Localization
editor [} 86].
Mapped symbols: Server symbols that are already mapped and are available in the engineering (e.g. Data
Binding).
Controls: Each control has different properties whose values can be set or read.
You can drag and drop a symbol from the Configuration ⑥ into the Properties input box:
If the symbol is already mapped, you can enter the name of the symbol directly in the Properties field. In this
case an autocomplete function is available.
2.1 Right-click on the TwinCAT HMI project entry or on one of the folders.
3. Open the view or the content where you wish to add the navigation.
5. Set the Target Content attribute in order to define the start content.
6. Add a SetTargetContent action to the .onPressed event of all buttons and set the corresponding content.
In the upper area of the editor there is a toolbar that offers the following options:
• Delete entry
You can create a new entry in the red and gray shaded row with a double click.
Alternatively, you can use the SetLocaleEx [} 864]-action in the dialog "Actions and Condition [} 59]" to
switch between different languages.
For example, you could use two buttons to switch between two languages. The ".onPressed" event of the
buttons would be used to call the SetLocalEx action and to change the corresponding language.
3. The User Control editor appears. It is very similar to the Designer, except that there is additionally a
parameter editor (P button) on the right-hand side for quick access.
4. Drag a control out of the toolbox into the User Control editor
5. Click on P to open the Parameter editor.
6. Enter the name of the parameter in the dialog Edit/Define Parameters. The "Display Name" is
generated automatically after the parameter name has been entered.
7. In the Data type column, select the data type from a drop-down menu. If the data type is a structure,
select the corresponding structure type in the Options column.
8. In the Bindable column, define whether the parameter may be mapped to a symbol later on.
ð You can now use the newly created parameters inside the User Control with their mapping properties
(see Creating a data binding [} 38]).
As a simple example, the illustration below shows the properties of an added User Control whose size is 100
x 130 pixels.
Two text blocks have been added to this User Control, each bound to a parameter of the type String (see
⑯).
The User Controls that were added to the project are now available via the Toolbox; you can add them to the
Designer by drag-and-drop. The parameters have been added to the properties of the User Control and are
displayed in the Properties window ⑱. If they were created as bindable it is also possible to map them to a
symbol.
5 Development environment
The development environment of the TwinCAT HMI consists of the following windows:
• Solution Explorer [} 51]
• Document Outline [} 72]
• Designer [} 54]
• HMI LiveView [} 72]
• Toolbox [} 109]
• Properties [} 58]
• HMI Configuration [} 75]
• Gallery Explorer [} 881]
• Server Configuration [} 880]
The development environment can be configured via global settings. To do this, click on the tab Tools in the
menu and select the entry Options.
Then navigate to the category TwinCAT - HMI Environment. There you can change the default settings of
the HMI development environment.
Changing the default settings of the development environment applies globally to all instances of
the development environment and cannot be saved on a project-by-project basis.
1. TcHmiProject: The project node offers access to the Project Settings [} 51].
2. Server: The server node contains the Server Settings [} 880] and lists the loaded server extensions.
3. Framework: The framework node enables the referencing of Framework Controls [} 1223].
4. Properties: Lists the internal configuration files of the project.
◦ Default.tpl: Template file used for the generation of the HTML code.
◦ tchmi.framework.Schema.tpl.json: Contains the type information for the framework.
◦ tchmi.project.Schema.tpl.json: Contains the type information for the project.
◦ tchmiconfig.tpl.json: Contains the configuration of the project.
◦ tchmimanifest.json: Manifest file of the project.
◦ tchmipublish.config.json: Contains the publish profile [} 874] of the project.
5. References: Offers the option to reference TwinCAT HMI packages.
6. Imports: Folder for contents such as images or videos that are added dynamically (e.g. by drag-and-
drop via the Gallery Explorer).
7. Themes: The folder contains all themes [} 934] that have been added to the project.
8. Fonts: This folder contains fonts that apply irrespective of the theme.
9. Images: Folder for images.
10. Localization: This folder contains the language files required for the project.
11. Desktop.view: The start page that is displayed when starting the HMI.
12. FavIcon.ico: The icon displayed in the title bar of the browser.
Explanations:
• Creation: Date and time when the setup of the TwinCAT HMI was created.
• Product Version: Version no. of the TwinCAT HMI.
• Device IP: Local IP address.
• TcHmiSrv's Port: Port number of the server on which a client can reach the server via HTTP(S).
• WebSocket Router's Port: WebSocket port number required for the WebSocket connection between
an HMI client and the server instance.
• Default Viewport Height: Default value for the height of a Viewport when a new HMI page is added.
Various resolutions of the HMI can be simulated via the Viewport.
• Default Viewport Width: Default value for the width of a Viewport when a new HMI page is added.
Various resolutions of the HMI can be simulated via the Viewport.
• Interval: Global update rate [ms] for refreshing the HMI server symbols.
• Subscription Mode: Update mode between server and client.
◦ Change: The client is only informed of changes to the symbol values.
◦ Poll: The client receives the symbol value cyclically, even if no change has taken place.
• Theme Name: Name of the active theme (in engineering and of the initially active theme in the client).
• Timeout: WebSocket timeout for communication between server and client.
• Title: Title of the HMI, which is displayed in the browser (tab).
• Verbose Level:
◦ 0 = no messages
◦ 1 = error messages only
◦ 2 = error messages and warnings
◦ 3 = error messages, warnings and infos
◦ 4 = error messages, warnings, infos and debug messages
• Version: Version number of this project.
• Company Name: Optional name of the company providing or using the HMI.
• Company's Website: URL of the company providing or using the HMI.
• Login Page: Login page of the HMI, which is displayed when authentication is active.
• Scale Mode: Scaling mode of the HMI. This setting only applies if the Viewport is configured with
absolute values (pixel specifications).
◦ ScaleToFit: The width or height of the HMI is scaled to the current size of the browser window
without a scrollbar appearing.
◦ ScaleToWidth: The height is scaled accordingly to the width (while maintaining the aspect ratio
with scrollbar).
◦ ScaleToHeight: The width is scaled accordingly to the height (while maintaining the aspect ratio
with scrollbar).
◦ ScaleToFill: The height and width are stretched to the maximum width and height of the browser
window (the aspect ratio is not maintained).
• Startup View: The start page (View) of the HMI, which is loaded when opening the HMI in the browser.
• Framework Binaries: Local directory from which the components of the framework are provided.
• Server Binaries: Local directory from which the components of the server are provided.
• LOG_DESIGNER_MODE_COM_MESSAGES: Defines whether the communication between Visual
Studio and the Designer is to be displayed.
• LOG_TCHMISERVER_MESSAGES: Defines whether the communication of the TcHmi server is to be
displayed.
• Project File: The name of the project file.
• Project Folder: Absolute storage location of the project.
• Default Language: Default language that is loaded for the HMI project. This setting can be overwritten
by the settings per user or switched in the client.
• Time Format Locale: Time format of the currently set time zone that is loaded for the HMI project.
This setting can be overwritten by the setting per user.
• Time Zone: Time zone that is loaded for the HMI project. This setting can be overwritten by the setting
per user.
• Viewport (meta attribute): Meta attributes that define the scaling behavior and adaptability of the HMI.
5.2 Designer
The Designer is the front-end development tool of the HMI. It is divided into two editors – a graphic editor
and a code editor. The code is generated automatically behind the graphic editor and can be directly edited.
In the top right-hand corner there are three buttons for switching between these two editors or - if both
are displayed - swapping the views.
The three buttons in the bottom right-hand corner are used to display both editors at the same time and
to select the arrangement of the windows (horizontal or vertical).
There are various quick-access buttons on the right-hand side. With these buttons you can open the
Document Outline window, the TwinCAT HMI Configuration window, the TwinCAT HMI Gallery Explorer G
and the TwinCAT HMI LiveView L.
You can design your interface in the graphic editor of the Designer. To do this, drag controls from the
Toolbox and drop them into the editor. The automatically assigned names and sizes of the controls are
displayed. You can set all properties in the Properties window.
If controls overlap in the editor, you can define which should be in the foreground and which in the
background with a right mouse click. (Note: this changes the attribute Z-Index [} 711])
Control selection
A control can be selected by mouse click. This control is additionally selected if the Ctrl key on the keyboard
is pressed simultaneously.
It is also possible to mark several controls with a selection frame. You can draw this frame by left-clicking
next to all the controls and then moving the mouse. If the Ctrl key is pressed, the frame is also drawn within
a container, otherwise the container would be moved.
All controls that touch the rectangular frame are selected after releasing the mouse button. If the Alt key is
pressed, then only those controls that are completely enclosed are selected. Here too, it is possible to select
additional controls using the Ctrl key.
Positioning aid
With the control trap you can align controls alongside others and lock them in position.
If you hold the Shift key down when moving a control, it will only be moved horizontally or vertically.
If you hold the Shift key down when enlarging a control at the corner, the aspect ratio will be kept constant.
If you press the Ctrl key you can copy one or more controls – even into another container.
In the HTML editor you can edit directly and check the code generated. Designer and HTML editor work
synchronously.
Then navigate to the category TwinCAT - HMI Environment - Designer. There you can change the default
settings of the Designer.
Changing the default settings of the Designer applies globally to all instances of the development
environment and cannot be saved on a project-by-project basis.
5.3 Properties
The Properties window displays various properties depending on the object that is selected. The selected
object can be a control in the graphic editor or an object in the Solution Explorer.
The name and symbol of the control are displayed in the Identifier field. If you have selected a control there
are three different views between which you can switch with the following buttons:
The left-hand button (wrench) displays the general view with the various properties of this control:
The right-hand button (lock) displays the access rights [} 780] to this control:
There are several areas here in which various events of the control can be configured:
• Framework: This covers events that are triggered from the system and concerns the life cycle of the
control (init, attach, detach, destroy) as well as changes of size (resize) or movements (moved).
• Operator: These are events that are triggered by the operator, for example click, double-click.
• Control: Many controls trigger events. These are, for example, a change in a state symbol of a button
or the time at which the loading of an image was completed.
• Custom: Further events are possible here. Here, any icon can be entered or selected from the context
menu. If its value changes, an action is executed. The configuration of TwinCAT Speech [} 1027] events
is also possible here.
Clicking the Edit icon (pen) opens the Actions and Conditions Editor for the event associated with the
selected control.
The actions are listed in the left part of the editor. The right part is a graphic editor into which the actions can
be moved by dragging and dropping.
You can perform the following actions in the Actions and Conditions Editor:
Expand/collapse folder
5.4.1 General
The general actions can be used independently of a control.
5.4.1.1 Condition
A condition is an If statement within the Actions and Conditions Editor.
Explanations:
2 Comparison operator: Comparison operator of the If statement. The selection is made via the combo box
(==, !=, >=, >, <=, <).
3 Comparison value: Comparison value of the If statement. A Binding [} 104] to a symbol can be created.
4 Add a condition: Click the button to add another condition to the If statement.
5 Logical operator: Logical operator between the conditions. The selection is made via a combo box (AND,
OR).
7 Then branch: Then branch of the If statement that is executed if the condition is met.
8 Or branch: Or branch of the If statement that is executed if the condition is not met.
5.4.1.2 SwitchCase
A SwitchCase statement refers to a case distinction within the Actions and Conditions Editor.
Explanations:
1 Condition: Condition of the case distinction. A Binding [} 104] to a symbol can be created.
2 Add case: Click the button to add another case to the case distinction.
3 Case: Individual case that is compared with the condition. A Binding [} 104] to a symbol can be created.
4 Then branch: This branch is executed if the case meets the condition.
5.4.1.3 WriteToSymbol
The WriteToSymbol action writes any value to a symbol (server symbol [} 77], internal symbol [} 85]) or to
a control [} 109] property.
Explanations:
2 Value: Value to be written to the symbol. A binding to another symbol or a control property can be created.
5.4.1.4 JavaScript
A JavaScript action consists of JavaScript code and enables the execution of simple JavaScript functions.
5.4.1.5 CreateBinding
The CreateBinding action creates a binding [} 104] to a control property at runtime.
Explanations:
2 Expression: Expression (symbol [} 77], control property [} 109] or localized text [} 86]) to be bound to
the target.
As of version 1.10.1336.0, this functionality is taken over by the createBinding [} 851] function.
5.4.1.6 RemoveBinding
The RemoveBinding action removes a binding from a control property at runtime.
Explanations:
From version 1.10.1336.0, this functionality is taken over by the removeBinding [} 851] function.
5.4.1.7 Comment
The comment action inserts a comment in the Actions and Conditions Editor. The comment is used for
information or as a structuring aid with more complex logics and is not interpreted during runtime.
Explanations:
• The "Success" branch is called if the action was executed without errors. For JavaScript code
containing a context object [} 1212], the context object must return "Success".
• The "Error" branch is called if an exception occurs during execution of the action. For JavaScript code
that contains a context object, the "Error" branch is called if an exception or an "Error" message of the
context object occurs.
• With an asynchronous logic, the function "Wait for completion [} 1211]" waits for the action to be
executed. With a synchronous logic, this function has no effect.
5.4.2 Controls
The Actions and Conditions Editor allows you to change all control properties at runtime (similar to the static
configuration in the Properties window [} 58]). In addition to the properties of the selected control, the
properties of all controls instantiated within all HMI pages can be changed.
The control properties of the instantiated controls are listed in the left column of the Actions and Conditions
Editor. Drag & drop can be used to add the properties to the right part of the editor. Drag & drop
automatically adds the control property to a WriteToSymbol action.
The following example shows setting the maximum value of a linear gauge [} 400] by pressing a button
(onPressed event [} 715]).
5.4.3 Functions
Various functions are available graphically in the Actions and Conditions Editor. In addition, user-specific
functions [} 1213] are listed there according to their category. The functions can also be used in the
Properties window [} 58].
The functions are listed in the left column of the Actions and Conditions Editor. Drag & drop can be used to
add the functions to the right part of the editor. Not all functions are useful in all contexts.
All the functions of the Actions and Conditions Editor are available within the Action Template.
5.4.4.1 Editor
The Action Template Editor can be opened via the Actions and Conditions Editor or the Configuration
window [} 75]. The editor allows you to create and edit Action Templates. The editor is structured like the
Actions and Conditions Editor and contains the following extensions:
Explanations:
1 Explorer: The Explorer offers the same categories as the Actions and Conditions Editor.
2 Template name: Name of the Actions Template displayed under Action Templates in the Actions and
Conditions Editor.
3 Template description: Description of the Action Template that is displayed during mouseover over the
Action Template in the Actions and Conditions Editor.
4 Action editor: Graphic editor that records the Actions and Conditions using drag & drop. The functionality
is the same as the Actions and Conditions Editor.
5 Parameter name: Name of a Template Parameter that is passed to the Action Template.
7 Parameter description: Description of the Template Parameter that is displayed during mouseover over
the parameter in the Actions and Conditions Editor.
8 Parameter buttons:
• New: Adds a new Template Parameter.
5.4.4.2 Example
The following description shows the creation of an Action Template as an example. The example describes
an Action Template for switching any Boolean value.
1. In the Action and Conditions Editor, click "Add Action Template". The Action Template Editor [} 69]
opens.
2. Enter a name and a description for the Action Template.
4. Drag a condition [} 62] into the editor area and implement the logic for switching the Boolean value using
WriteToSymbol actions [} 63]. You can insert the Template Parameter into the editor area using drag &
drop.
5. The Action Template can now be used as a normal action. In the Actions and Conditions Editor, drag the
Action Template into the editor area and link an icon of type "Boolean" to the template parameter.
• By clicking on you can hide individual controls so that they are no longer displayed in the
Designer. The controls are still displayed in the LiveView or in the browser. The controls are made
• You can lock controls to prevent them being shifted by clicking on . Clicking on
unlocks the controls so that they can be shifted again.
• The lightning bolt icon indicates that events are configured for this control. A click on the
icon opens the Properties window and displays the events.
• If controls are superimposed on one another in the Designer, thus making them inaccessible via the
graphic editor, they can be selected directly via the Document Outline.
• It is also possible to influence the order of the controls by drag-and-drop. (See detail page Positioning
of controls [} 111]). In addition, you can shift the controls into containers or grids or remove them from
a container or grid.
5.6 LiveView
In the LiveView the current configuration of the HMI can be tested directly online with values from the PLC
without the changes first having to be published on a server. The LiveView can be opened directly as a tool
window in Visual Studio. The LiveView synchronizes itself directly with the Designer without you first having
to save the changes. If, for example, you shift a control in the Designer, it will be shifted automatically in the
LiveView.
1. HMI project for which the LiveView is displayed. If there are several HMI projects in the Solution, you
can switch between the various projects.
2. Refresh button: Refreshes the LiveView when changes have been made in the Designer that couldn't
be automatically refreshed.
3. Developer Tools button: Opens the Developer Tools [} 1343] of the browser engine. These can be used
for debugging purposes:
4. Full-screen mode: This button opens the LiveView in full-screen mode. The full-screen mode can be
exited again by pressing the Esc key.
5. Zoom-Out: Zooms out of the LiveView.
6. Zoom In: Zooms into the LiveView.
7. Reset Zoom: Resets the zoom to the normal view.
8. QR code display: Displays a QR code for the LiveView in order to open the LiveView on another de-
vice (e.g. a Smartphone). So that the LiveView can be opened via an external device you have to set
the binding to a network card in the Visual Studio settings. The settings can be found under:
Menu bar/Tools/Options/TwinCAT/HMI Environment/Binding Device
9. Opens the LiveView in an available browser. If several browsers are installed on the operating system
you can choose between the browsers.
The Configuration window contains a toolbar (1), a search bar (2), a project element explorer (3) and a
display area (4).
Depending on the node selected, various buttons are available in the toolbar in the right-hand explorer:
Create Internal Symbol: This button adds a new internal symbol to the project.
Create Localized Symbol: This button adds a new localized key to the language tables in the project.
Create Server Symbol: This button adds a new symbol to the server.
Add User: This button adds a new user to the user management.
Add Group: This button adds a new user group to the user management.
Automap Symbols: This button activates the automatic mapping of symbols. If the button is activated
the symbol is automatically mapped in the background. If the button is deactivated the Dialog Map symbol
appears; a mapping for the symbol can be assigned in this dialog.
Show advanced Items: This button shows all configuration options and is intended for power users.
Toggle all On-/Offline: This button switches the state of all symbols between online and offline. No
communication takes place with the server in the offline state.
Show live values for mapped symbols: This button shows live values from the PLC for mapped
symbols in the Configuration window.
Edit permissions: This button opens the permissions management for the project elements.
The Configuration window can interact with the Properties window [} 58] by drag-and-drop.
Show advanced Items: This button shows all configuration options and is intended for power users.
If Show Advanced Items is activated, symbols and further extensions are available to power users.
Create Mapping
Server symbols can be mapped with a right-click on the symbol or by clicking on the Map Symbol button.
A name can be assigned for the mapping in the dialog Map new Symbol.
Create Server Symbol: This button adds a new symbol to the server.
Toggle all On-/Offline: This button switches the state of all symbols between online and offline. No
communication takes place with the server in the offline state.
Show live values for mapped symbols: This button shows live values from the PLC for mapped
symbols in the Configuration window.
Server symbols can be created centrally in the server under Mapped Symbols. They can also be used
offline without a PLC. Clicking on the button Create Server Symbol opens a dialog for adding server
symbols.
Server symbols that were created offline can be bound with a different symbol (e.g. from the PLC) later on.
To do this, click on Map to other symbol in the context menu and select the symbol via the window Select
Binding Source.
A historized symbol is created via the mapped symbols. To do this, click on Historize Settings in the context
menu for a mapped symbol:
The configuration for the historization of the symbol takes place in the dialog Historize Settings:
A historized symbol is identified by the following icon after the symbol name:
3. Enter a meaningful name for the PLC in the dialog that appears. This name is used for the any mappings
that are created and is retained when switching to the PLC connection. Confirm with OK.
4. Select the TMC file from the file system by clicking Browse Files or integrate it via Browse Solution if
the TwinCAT project is in the same Solution.
2. Select a symbol, right-click Switch Mapping to PLC and select the corresponding PLC (in this case
PLC1). This step requires the symbol to be available in the PLC.
ð The mapping is removed from the TMC symbols and listed below the online connections. You now
have access to the live data of the PLC.
3. You may switch several mappings to an online connection at the same time if they are available in the
same PLC. To do this, select several mappings, right-click Switch Mapping to PLC and select the PLC:
ð The connection of the selected symbols was switched to the online connection.
Create Internal Symbol: This button adds a new internal symbol to the project.
Clicking on the button Create Internal Symbol or double-clicking on <create new internal symbol> opens
a dialog for adding internal symbols:
1. Data type: Data type of the internal symbol. The selection is made via the combobox.
2. Symbol Name: Name of the internal symbol.
3. Default Value: Default value of the internal symbol that is set when loading the client.
4. Persist: Defines whether the symbol is saved persistently in the client. A persistent internal symbol is
available at the next start of the HMI.
5. Read-only: Defines whether the symbol may only be read or whether read and write access is al-
lowed.
5.7.3 Localizations
Localizations list all available localization texts [} 928]. You can bind the entries with the control properties by
drag-and-drop.
Create Localized Symbol: This button adds a new localized key to the language tables in the project.
The dialog Create new localized symbol is opened by clicking on the button Create Localized Symbol,
double-clicking on <create new localized symbol> and dragging and dropping the entry <create new
localized symbol> onto a control property.
1. Key: Key of the localized text. The key may only be assigned once.
2. Language: All available languages.
3. Value: Text of the key in the respective language.
In the subsequent dialog you select the basis on which the new data type is to be created.
5.7.4.1.1 Array
Create an array-based type creates a new project data type based on an array. The subsequent dialog
configures the array:
1. Choose Base Type: Base data type on which the array is based.
2. Array Size: Size of the array. A dynamic array is generated by entering no value.
5.7.4.1.2 Object
Create a new object type creates a new project data type based on an object. Properties can be added to
the object in the subsequent dialog:
For example, function blocks from a PLC can be selected in the dialog. The data type can be created on this
basis.
All data types including the project data types are available in the combobox.
1. Data Type Explorer: The Data Type Explorer displays the structure of the data type in a tree view.
2. Name: Name of the data type.
3. Title: Title of the data type.
4. Description: Description of the data type.
5. Base Type: Base data type of the data type.
◦ Scheme Type: JSON base data types.
◦ Existing Type: Arbitrary TwinCAT HMI data type.
◦ Multiple: Arbitrary data types with restrictions [} 95]: AnyOf, AllOf or OneOf (see JSON
documentation).
◦ Not Set: Do not set a data type. This necessitates a manual restriction [} 95] of the data type.
6. Define Subtypes: Enables the definition of subtypes within the schema. A subtype is a user-specific
data type within the user-specific data type.
7. Additional Properties: Adds optional properties to the data type. Optional properties enable the addi-
tion of further properties that are not required, but are validated (see JSON documentation).
8. Required Properties: Defines all properties that are required. One property is entered per row. The
data type is not valid if it is lacking a required property.
9. Subschema Preview: Provides a preview of the generated schema of the selected node in the Data
Type Explorer.
5.7.5 Parameter
Parameter lists all the parameter values of a User Control. The Parameter category is visible only if a User
Control has the focus.
5.7.6 Controls
Controls lists all available controls (instanced controls) and offers the option of inserting the properties of the
controls into other editors by drag-and-drop.
Global Events:
• onInitialized: The event is triggered as soon as the system has been initialized and the main control
(View) is loaded. Other controls may not be loaded or visible at this time.
• onLocaleChanged: The event is triggered as soon as a language has been loaded.
• onThemeDataChanged: The event is triggered as soon as all JSON and CSS files have been loaded
following a change of theme. Furthermore the event is triggered as soon as a new font has been
loaded.
• onUserInGroupChanged: The event is triggered if the group membership of the current user is now
known to the system or has changed.
5.7.8 Functions
The functions list all functions available in the project. These include the functions provided by [} 850]
TwinCAT HMI and the user-specific functions [} 1213].
5.7.9 Files
Files lists the files used in the project, categorized according to the project folders.
5.7.9.3 Views
Lists all views of the project. A view is the parent element of an HMI. The StartView can be set in the Project
properties [} 51].
Edit permissions: This button opens the permissions management for the project elements.
Further information on rights can be found in the chapter Rights system [} 893].
1. Removes a selected entry (key and language entry) from the language table.
To create a new localization entry, click in the last row of the table on create new localized symbol. A
unique key must exist for each entry.
Further languages can be displayed via the context menu of the table.
It is not possible to edit the additionally displayed language in this table. To do that you have to open the
respective table for the language.
In the Designer you can link the language key directly to the property of a control as a symbol. The language
symbols are marked by an "L". When hovering with the mouse pointer over a language symbol, the
corresponding language entries are displayed.
Under Properties [} 58] you can configure a binding by clicking the symbol.
The Select Binding Source dialog displays all available symbols, categorized by symbol type. Server
symbols must be mapped before they are bound to a control property. The mapping is created by clicking
the Map Symbol or automatically by clicking OK.
The mapped server symbols are available under Mapped symbols after the mapping has been created.
Besides internal variables and localization symbols, properties of other controls can also be bound (e.g. the
current text of a text box [} 580]).
Alternatively, the symbols in input fields can be bound directly to a property of a control using auto-
completion.
The parameter values of the function are transferred directly in the Properties window.
In addition, it is possible to implement custom JavaScript functions and create a function binding for them.
Further information can be found here [} 1213].
The Edit Binding dialog offers various configuration options, depending on the symbol type:
1 Binding mode: Binding mode determines whether the binding acts in one direction or in both directions.
• One-way binding (read-only): The value of the symbol is read.
• Two-way binding (read and write access): The value of the symbol is read and the symbol is written
when a specific event is triggered.
2 Binding event: The binding event can only be optionally configured for TwoWay bindings. It determines at
which event the symbol is written to (e.g. onValueChanged [} 421] for a linear gauge [} 400]). If no event is
selected for a TwoWay binding, the value is automatically written back if the value changes.
• Event: An event of the current control for which the symbol is to be written to.
3 Interval: The interval specifies the time within which the binding is to be queried or updated. The interval
can only be set for server symbols.
• Time (ms): Time in milliseconds.
4 Timeout: The timeout defines the time after which a read or write access to the symbol leads to an error if
no response is sent from the server. The timeout can only be set for server symbols.
• Time (ms): Time in milliseconds.
6 Parallel: This property defines whether a command is to be executed by the server in parallel or in a
queue. The decision whether processing is to take place in parallel or in a queue depends on the respective
application. By default, all commands are executed in a queue. This property can only be set for server
symbols.
• Parallel (disabled): All commands to the server are queued and processed one after the other.
Execution may take a little longer if there are several commands in the queue.
• Parallel (enabled): The commands are sent directly to the server without being queued. The
commands are executed directly. With this option, it can happen that the execution order of commands
sent in short succession is switched.
5.10 Controls
A predefined set of controls is supplied in the toolbox with the TwinCAT HMI:
Properties
Each control can be equipped with various properties. The properties are set in the Properties under the
icon .
Events
Each control can trigger different actions on the occurrence of various events. These actions are configured
Rights
The rights management [} 780] for each control can be found in the Properties under the icon .
The influence of the different attributes on the size of the control is defined with the aid of the attributes
WidthMode [} 698] or HeightMode [} 699]. All controls have the Value and Parent modes. Many controls
additionally offer the Content mode. The attributes necessary for the modes are listed in the following tables.
The various separators have the following meanings:
• ‚,‘: both attributes can be used.
• ‚&‘: both attributes must be used.
• ‚|‘: one of the two attributes must be used.
Value (Standard) Width, Height Left, Right Top, Bottom
Parent - Left & Right Top & Bottom
Content - Left | Right Top | Bottom
Value
The Value mode is configured as the default together with the aforementioned attributes Left, Top, Width and
Height. However, an arbitrary combination of any two of the three possible attributes in the horizontal and
vertical direction is possible in order to define the position and size of a control:
• Left [} 697] (including LeftUnit [} 697])
• Width [} 698] (including WidthUnit [} 698])
and
• Top [} 697] (including TopUnit [} 698])
• Height [} 699] (including HeightUnit [} 699])
• Bottom [} 700] (including BottomUnit [} 700])
If values are configured for all three variables per direction, the last one in this list (i.e. Right or Bottom
respectively) is discarded. If only one variable is configured per direction for a control, it cannot be
displayed!
Parent
The attributes Width and Height are ignored in the Parent mode. The size of the control depends on the size
of the parent control. In addition, the distances to the edges of the parent control must be defined by the
attribute pairs Left, Right and Top, Bottom. After changing the mode from Value to Parent, therefore, all four
attributes must be configured so that the control is displayed.
Content
Most container controls additionally have the Content mode. The attributes Width and Height are ignored
here too. The size of the control depends on the size of the child control. In this mode, therefore, the control
is just large enough so that every child control is fully visible. Here are some examples of this mode:
• If the only child control is configured with Left = 10 px and Width = 200 px, then the container control is
given the width 210 px.
• If the only child control is configured with Right = 20 px and Width = 200 px, then the container control
is given the width 220 px.
• If the only child control is configured with Left = 30 px and Right = 20 px and no Width, then the
container control is given the width 50 px and the child control has no width.
• If the only child control has Left = 100 px and Width = 50%, then the parent element would only have a
size of 100 px.
• If a child control itself is aligned exclusively to the parent control (e.g. it has Left = 10% and Width =
50%), then it is skipped in the size adjustment of the parent control. If there are otherwise no child
controls, the container control has the width 0 px and thus cannot be displayed!
In addition, a minimum and maximum size can be defined for each control in the horizontal and vertical
directions. The attributes Minimum Width [} 709] (including Minimum Width Unit [} 709]), Maximum Width
[} 708] (including Maximum Width Unit [} 708]) or Minimum Height [} 707] (including Minimum Height Unit
[} 707]) and Maximum Height [} 708] (including Maximum Height Unit [} 708]) respectively are responsible
for this.
Priority: calculated size > calculated maximum value > calculated minimum value
A set maximum value thus overwrites the calculated size, but a set minimum value overwrites the maximum
value.
For example, this allows the height of the View [} 775] to be adapted to the contents (WidthMode=Content),
but at the same time the minimum height can be set to 100% so that, for example, no area is created without
a background image.
Overlapping
If two controls (partly) occupy the same area on the screen, then the order will be observed. This order can
be changed by drag & drop within the Document Outline [} 72] or directly in the HTML source code [} 56].
The Z-Index [} 711] attribute offers additional options. This can assume negative numeric values and has the
default value 0. A control with a higher numerical value in this attribute will be drawn "further forward", i.e. in
case of doubt it conceals a control with a lower numerical value. It must be noted that the Z-index also has
no global meaning, but is valid only inside a container.
Overfilling
A container control [} 723] groups together any child controls. The container must be large enough to accept
all child controls, because any overfilling will be cut off.
The color editor shown in the following picture is used to define a color as "solid". On the right-hand side you
will find the entries R (Red), G (Green), B (Blue) and A (Alpha). Here you can directly enter the color via the
color components and the Alpha factor, which specifies the transparency. Underneath that is a further box in
which you can also define the color by means of its corresponding hexadecimal color code.
A color selection editor is offered on the left-hand side. In the right-hand part of this editor you can select a
color to use as the basis. In the main part you can then adjust this color again. In addition it is possible using
the pipette symbol to select a color, for example from an image opened in an external tool. Underneath the
color selection editor there is a further bar in which the last-used color is offered on the left-hand side and the
currently selected color on the right-hand side.
If the Gradient tab is selected, the editor described above is extended by the setting options for a color
gradient. The color gradient is initially displayed in a bar. By selecting its left or right marker you can change
the color with which the gradient starts or ends. The start and end of the color gradient can be adjusted via
the position of the markers. This information can additionally be defined in percent in the right box
underneath. In addition there is a slider on the left under the color gradient bar which can be used to change
the angle with which the gradient is displayed.
Translate
Name Description
X Definition of the distance by which the control is to be
shifted in the X direction
Y Definition of the distance by which the control is to be
shifted in the Y direction
Z Definition of the distance by which the control is to be
shifted in the Z direction
Rotate
Name Description
Angle Definition of an angle by which the control is to be
rotated
Angle Unit Selection of the unit of the angle:
• Deg: Degrees (full circle = 360 deg)
• Rad: Radians (full circle = 2*Pi*Radians)
• Turn: Number of turns (full circle = 1 turn)
• Grad: Gon (full circle = 400 grad)
Vector X Definition of the X component of the vector
Vector Y Definition of the Y component of the vector
Vector Z Definition of the Z component of the vector
Scale
Name Description
X Definition of the zoom factor in the X direction
Y Definition of the zoom factor in the Y direction
Z Definition of the zoom factor in the Z direction
Skew
Name Description
X Angle Definition of the angle by which the vertical sides are
to be skewed
X Angle Unit Selection of the unit of the angle:
• Deg: Degrees (full circle = 360 deg)
• Rad: Radians (full circle = 2*Pi*Radians)
• Turn: Number of turns (full circle = 1 turn)
• Grad: Gon (full circle = 400 grad)
Y Angle Definition of the angle by which the horizontal sides
are to be skewed
Y Angle Unit Selection of the unit of the angle:
• Deg: Degrees (full circle = 360 deg)
• Rad: Radians (full circle = 2*Pi*Radians)
• Turn: Number of turns (full circle = 1 turn)
• Grad: Gon (full circle = 400 grad)
Origin
Name Description
X Definition of the X coordinate of the origin of the
transformations
X Unit Selection of the unit of the coordinate:
• Pixels for an absolute position
• Percent for a relative position
Y Definition of the Y coordinate of the origin of the
transformations
Y Unit Selection of the unit of the coordinate:
• Pixels for an absolute position
• Percent for a relative position
Z Definition of the Z coordinate of the origin of the
transformations
Z Unit Selection of the unit of the coordinate:
• Pixels for an absolute position
• Percent for a relative position
Perspective
Name Description
Distance Definition of the distance of the perspective
Distance Unit Selection of the unit of the coordinate:
• Pixels for an absolute position
• Percent for a relative position
Origin X Definition of the X coordinate of the origin of the
perspective
Origin X Unit Selection of the unit of the coordinate:
• Pixels for an absolute position
• Percent for a relative position
Origin Y Definition of the Y coordinate of the origin of the
perspective
Origin Y Unit Selection of the unit of the coordinate:
• Pixels for an absolute position
• Percent for a relative position
Category: Colors
Name Description
Color Definition of the color of the shadow
Category: General
Name Description
blur Definition of the blur
blur unit Selecting the unit:
• Pixels for absolute blurring
inset Selection of whether the shadow should be drawn at
the top left inside the control instead of at the bottom
right outside the control
offsetX Definition of the offset in the X direction
offsetX unit Selecting the unit:
• Pixel for an absolute offset
offsetY Definition of the offset in the Y direction
offsetY unit Selecting the unit:
• Pixel for an absolute offset
spread Definition of the spread of the shadow
spread unit Selecting the unit:
• Pixel for an absolute spread
5.10.2 Beckhoff
Name Description
Audio [} 127] Audio files can be played with the Audio Control. The
supported audio formats are defined by the browser
used.
Bar Chart [} 139] A BarChart represents data with rectangular bars. It
can be statically filled with data or dynamically
supplied with data via an array.
Button [} 168] The button is a simple switching element that
provides visual feedback when the background is
switched.
Checkbox [} 180] A checkbox has a ToggleState parameter. This
parameter has the value "Normal" if no checkmark is
set and "Active" if the checkmark is set.
Combobox [} 190] A combo box is a drop-down menu for selecting an
option from several options. Each option is defined by
its ID and also has a text that is displayed in the
dropdown menu, and an assigned value.
Datagrid [} 207] A data grid is a table. Data sets can be displayed in
this table that have been defined via Engineering or
dynamically via an array.
Date Time Display [} 235] A control for displaying the date and time.
Ellipse [} 263] An elliptical object.
Event Grid [} 270] The Event Grid is provided for the tabular display of
alarms and messages.
IFrame [} 328] An IFrame is a nested browser context. It can be
used to include another HTML page in the
visualization or to display a PDF document.
Image [} 333] An image is an image display in which image files
from the project path can be displayed. The
supported image formats are defined by the browser
used.
Input [} 340] A single-line text input element.
Keyboard [} 350] A keyboard is an on-screen keyboard that can be
used for input without a hardware keyboard.
Line [} 365] A line object.
Line Chart [} 375] A LineChart is a diagram in which curves can be
displayed.
Linear Gauge [} 400] A linear gauge is a linear display in which a value can
be displayed by filling in a bar. A start and end value
can be defined for this bar.
Localization Select [} 423] A combo box to select the localization.
Numeric Input [} 436] An input element for numeric values.
Password Input [} 449] An input element for passwords.
PDF Viewer [} 455] The PDF Viewer control enables embedded display
of PDF files in TwinCAT HMI applications.
Polygon [} 461] Closed shape formed from a set of interconnected
straight lines. The last point is automatically
connected to the first point.
Radial Gauge [} 476] A radial gauge is a radial display in which a value can
be displayed by filling in a bar. A start and end value
can be defined for this bar.
Radio Button [} 498] A radio button has a RadioState parameter. This
parameter has the value "Normal" if the radio button
is not selected and "Active" if the radio button is
selected.
Name Description
Only one radio button from a RadioGroup can be
selected at a time.
Recipe Select [} 509] The Recipe Select control allows you to browse,
select, activate and teach recipes from the Recipe
Management Extension on the server.
Rectangle [} 516] A rectangular object.
Spinbox Input [} 538] An input element for numerical values with buttons
for increasing and decreasing the value.
State Image [} 545] A state control is an image display in which different
image files from the project path can be displayed
depending on the state of an assigned variable.
Tachometer [} 551] A tachometer is a radial indicator that displays a
value on a scale using a tachometer needle.
Textblock [} 571] A text block is a control in which text can be
displayed.
Textbox [} 580] A text box is a control in which text can be displayed
and entered.
Theme Select [} 590] A combo box to select the theme.
Toggle Button [} 621] The toggle button is a switching element that can be
switched between two states.
Toggle switch [} 629] A toggle switch is a switching element that can be
switched between two states. A ToggleSwitch has a
ToggleState parameter, which can have the value
"Normal" or "Active".
Trend Line Chart [} 635] A TrendLineChart is a trend element in which curves
of historicized symbols can be displayed.
Video [} 677] Video can be played with the video control. The
supported video formats are defined by the browser
used.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
AdsRuntime [} 126] The ADS extension whose state is displayed.
ServerDomain [} 126] The domain of ADS extension. The default domain is
"ADS".
ServerInterval [} 126] Defines the interval for server subscriptions in
milliseconds.
StateImages [} 127] A structure that defines an image for each state that
an ADS extension may have and a fallback image.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
AdsState
See also
5.10.2.1.1 Attributes
AdsRuntime
The ADS extension whose state is displayed.
Schema: tchmi:general#/definitions/String
See also
ServerInterval
Defines the interval for server subscriptions in milliseconds.
Schema: tchmi:general#/definitions/Number
See also
Attribute setter:setServerInterval
ServerDomain
The domain of ADS extension. The default domain is "ADS".
Schema: tchmi:general#/definitions/String
See also
StateImages
A structure that defines an image for each state that an ADS extension may have and a fallback image.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiAdsState.StateImages
See also
5.10.2.2 Audio
Audio files can be played with the Audio Control. The supported audio formats are defined by the browser
used.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
SrcList [} 133] Definition of a list of audio files that can be played
back
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Audio
Name Description
Volume [} 133] Definition of the volume of the audio file
Mute [} 134] Selecting whether the sound is to be switched off
Playback rate [} 134] Definition of a playback rate. The normal playback
speed is multiplied by this value to obtain the current
rate.
CurrentTime [} 135] Definition of the current playback time of the audio
file
Duration [} 135] Plays the length of the audio file in seconds or 0 if it
is not available.
isEnded [} 134] Returns a Boolean value indicating whether playback
has finished or not.
isPlaying [} 134] Returns a Boolean value indicating whether the audio
file is currently playing or not.
Category: Player
Name Description
Controls [} 135] Selecting whether the integrated operating elements
are to be displayed
Autoplay [} 136] Selecting whether the audio file should be started
automatically
Loop [} 136] Selecting whether the audio file is to be repeated
automatically on a permanent basis
Events
Category: Control
Name Description
onLoadedData [} 137] The audio file was loaded successfully.
onError [} 137] The audio file was not loaded successfully.
onVolumeChange [} 137] The volume of the audio file has been changed.
onDurationChange [} 137] The duration of the audio file has changed.
onIsEndedChange [} 137] The audio file has been terminated.
onIsPlayingChange [} 138] The audio file has changed its playback status.
onTimeUpdate [} 138] The playback position has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Functions
Name Origin Description
play TcHmiAudio Start video
pause TcHmiAudio Pause video
stop TcHmiAudio End video
skipBackward TcHmiAudio Rewind video
skipForward TcHmiAudio Fast forward video
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control
Audio
See also
5.10.2.2.1 Attributes
SrcList
A list of audio files that the browser should play back.
The audio files are not played one after the other, but the browser tries to play each audio file until it finds a
format that it supports.
If the format type is not set, the browser tries to detect the code itself.
You can check the current status of browser support on the external website http://caniuse.com/.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiAudio.AudioSourceList
See also
Volume
Volume of the audio file. The number 0 sets the audio file to mute, while 1 means full volume.
Schema: tchmi:framework#/definitions/Fraction
See also
Mute
Determines whether the sound is switched off.
Schema: tchmi:general#/definitions/Boolean
See also
Playback rate
The normal playback speed is multiplied by this value to obtain the current rate. Thus, the value 1.0
represents the normal speed.
Schema: tchmi:general#/definitions/Number
See also
isEnded
Returns a Boolean value indicating whether playback has finished or not.
Schema: tchmi:general#/definitions/Boolean
See also
isPlaying
Returns a Boolean value indicating whether the audio file is currently playing or not.
Schema: tchmi:general#/definitions/Boolean
See also
CurrentTime
The current playback time of the audio file.
Schema: tchmi:general#/definitions/Number
See also
Duration
Plays the length of the audio file in seconds or 0 if it is not available.
Schema: tchmi:general#/definitions/Number
See also
Controls
Determines whether operating elements are to be displayed. The user can control playback, adjust the
volume and pause/resume the audio file.
Some browsers do not allow automatic [} 136] or application-based start of an audio file. You
should therefore carry out intensive tests to determine whether it makes sense to deactivate the op-
erating elements.
Schema: tchmi:general#/definitions/Boolean
See also
Autoplay
Specifies whether the audio file is to be started directly.
In some browsers this is not allowed by default. In part this is possible again when the sound is
switched off.
Schema: tchmi:general#/definitions/Boolean
See also
Loop
When the audio file is finished, it starts again from the beginning.
Schema: tchmi:general#/definitions/Boolean
See also
5.10.2.2.2 Events
onError
The audio file was not loaded successfully.
onLoadedData
The audio file was loaded successfully.
onVolumeChange
The volume [} 685] of the audio file has been changed.
onDurationChange
The duration of the audio file has changed.
onIsEndedChange
The audio file has been terminated [} 686].
onIsPlayingChange
The audio file has changed its playback status [} 686].
onTimeUpdate
The playback position [} 135] has been changed.
5.10.2.2.3 Functions
play
Starts playing the audio file.
pause
Pauses the play back of the audio file.
stop
Stops playing the audio file. The audio file is then played back from the beginning.
skipBackward
Rewinds the audio file with a specified timespan.
Parameter:
• valueNew: Timespan in seconds
skipForward
Fast forwards the audio file with a specified timespan.
Parameter:
• valueNew: Timespan in seconds
Attributes
Category: Colors
Name Description
GridBackgroundColor [} 151] Definition of the background color of the coordinate
system
XAxisColor [} 156] Definition of the color of the X-axis
YAxisColor [} 159] Definition of the color of the Y-axis
GridLineColor [} 151] Definition of the color of the coordinate grid
SectionsBackgroundColor [} 164] Definition of the color of the sections
SubgridLineColor [} 155] Definition of the color of the coordinate subgrid
XLabelFontColor [} 156] Definition of the font color of the X-axis labels
XAxisNameFontColor [} 165] Definition of the font color of the Y-axis name
YLabelFontColor [} 160] Definition of the font color of the Y-axis labels
YAxisNameFontColor [} 162] Definition of the font color of the Y-axis name
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
BarGraphData [} 150] Definition of the data to be displayed as graph using
the 'Bar Graph Data [} 149]' dialog
BarGraphDescription [} 165] Definition of the display mode of the configured bar
graphs using the 'Bar Graph Description [} 149]'
dialog
BarGraphColors [} 150] Definition of the colors of the configured bar graphs
using the 'Bar Graph Color [} 148]' dialog
ShowLegend [} 165] Selecting whether the legend is to be displayed
BarGraphArrangement [} 166] Selection of the display mode of the bar chart:
• Overlapped: Bars are drawn on top of each other
• Clustered: Bars are drawn next to each other
BarGraphWidth [} 150] Definition of the width of the individual bars.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: XAxis
Name Description
ShowXAxis [} 153] Selecting whether the X-axis is to be displayed
XShowLabels [} 153] Selecting whether the X-axis labels are to be
displayed
XMainTickSteps [} 158] Definition of the step size of the X-axis main
subdivision
XMainTickMinValue [} 158] Definition of the minimum value of the X-axis main
subdivision
XMainTickMaxValue [} 157] Definition of the maximum value of the X-axis main
subdivision
ShowXAxisName [} 166] Selecting whether the X-axis name is to be displayed
XAxisName [} 166] Definition of the X-axis name
XAxisAutoScaling [} 155] Selecting whether the X-axis should be automatically
scaled according to the data sets. 'Maintick Min
Value', 'Maintick Max Value' and 'X-Axis Maintick
Steps' need not be set.
XAxisDecimalPlaces [} 156] Definition of the decimal places displayed for the X-
axis
XAxisUnit [} 166] Definition of the X-axis unit
XAxisWidth [} 158] Definition of the X-axis width
XLabelFontFamily [} 156] Definition of the font using the name of the font family
or the keyword
XLabelFontSize [} 157] Definition of the font size for the X-axis labels
XLabelFontSizeUnit [} 157] Selecting the font size unit for the X-axis labels:
• Pixels for an absolute size
• Percent for a relative size
XLabelFontWeight [} 157] Selecting the font weight of the X-axis labels:
• Normal
• Bold
XAxisFormat [} 159] Definition of the formatting of the X-axis labels
XNameFontFamily [} 167] Definition of the font using the name of the font family
or the keyword
XNameFontSize [} 167] Definition of the font size of the X-axis name
XNameFontSizeUnit [} 167] Selecting the unit of the font size of the X axis name:
• Pixels for an absolute size
• Percent for a relative size
XNameFontWeight [} 168] Selecting of the font weight of the X-axis name:
• Normal
• Bold
ShowXSubTicks [} 153] Selecting whether the subcoordinate points are to be
displayed on the X-axis
XSubTickSteps [} 158] Definition of the step size of the X-axis subdivision
Category: YAxis
Name Description
ShowYAxis [} 154] Selecting whether the y-axis is to be displayed
YPosition [} 164] Selecting the position of the y-axis on the coordinate
system
• Left: Y-axis is displayed on the left side of the
coordinate system.
• Right: Y-axis is displayed on the right side of the
coordinate system.
YAxisAutoScaling [} 159] Selecting whether the y-axis should be automatically
scaled according to the data sets. 'Maintick Min
Value', 'Maintick Max Value' and 'Y-Axis Maintick
Steps' need not be set.
YAxisDecimalPlaces [} 160] Definition of the decimal places displayed for the y-
axis
YAxisUnit [} 164] Definition of the unit of the y-axis
YAxisWidth [} 164] Definition of the y-axis width
ShowYAxisName [} 154] Selecting whether the y-axis name is to be displayed
YAxisName [} 162] Definition of the y-axis name
YAxisNameFontFamily [} 162] Definition of the font using the name of the font family
or the keyword
YAxisNameFontSize [} 163] Definition of the font size of the y-axis name
YAxisNameFontSizeUnit [} 163] Selecting the unit of the font size of the y-axis name:
• Pixels for an absolute size
• Percent for a relative size
YAxisNameFontWeight [} 163] Selecting of the font weight of the y-axis name:
• Normal
• Bold: Bold
YShowLabels [} 154] Selecting whether the y-axis labels are to be
displayed
YLabelFontFamily [} 160] Definition of the font using the name of the font family
or the keyword
YLabelFontSize [} 160] Definition of the font size for the y-axis labels
YLabelFontSizeUnit [} 161] Selecting the font size unit for the y-axis labels:
• Pixels for an absolute size
• Percent for a relative size
YLabelFontWeight [} 161] Selecting the font weight of the y-axis labels:
• Normal
• Bold: Bold
YMainTickMinValue [} 161] Definition of the minimum value of the y-axis main
subdivision
YMainTickMaxValue [} 161] Definition of the maximum value of the y-axis main
subdivision
YMainTickSteps [} 162] Definition of the step size of the y-axis main
subdivision
ShowYSubTicks [} 154] Selecting whether the subcoordinate points are to be
displayed on the y-axis
YSubTickSteps [} 163] Definition of the step size of the y-axis subdivision
Category: Grid
Name Description
ShowGrid [} 152] Selecting whether the coordinate grid is to be
displayed.
GridShowHorizontalLines [} 152] Selecting whether the horizontal lines of the
coordinate grid are to be displayed.
GridShowVerticalLines [} 152] Selecting whether the vertical lines of the coordinate
grid are to be displayed.
GridLineStyle [} 151] Definition of the line style for the coordinate grid.
GridLineWidth [} 151] Definition of the line width of the coordinate grid.
SubgridShowHorizontalLines [} 152] Selecting whether the horizontal lines of the subgrid
are to be displayed.
SubgridShowVerticalLines [} 152] Selecting whether the vertical lines of the subgrid are
to be displayed.
SubgridLineStyle [} 155] Definition of the line style of the subgrid.
SubgridLineWidth [} 155] Definition of the line width of the subgrid.
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Bar Chart
See also
5.10.2.3.1 Configuration
A bar chart can be configured in different ways:
• Via Engineering [} 148]
◦ Array of numbers
◦ Array of arrays of numbers
• Via an array from the PLC [} 148]
◦ Array of numbers
aVaules : ARRAY [1..10] OF INT;
◦ Array of arrays of numbers
aValues : ARRAY [1..2, 1..10] OF INT;
3. Define the number of members of the array and their values for the 'Bar Graph Data' attribute of the
'Common' category using the 'Bar Graph Data [} 149]' dialog.
3. Define the number of data sets of the array for the 'Bar Graph Data' attribute of the 'Common' category
using the 'Bar Graph Data [} 149]' dialog.
4. Define the number of members of the array and their values using the 'Bar Graph Data [} 149]' dialog.
2. Link the array to the 'Bar Graph Data' attribute of the 'Common' category.
Advanced Settings:
1. Define the color of the individual data sets for the 'Bar Graph Colors' attribute of the 'Common' category
using the 'Bar Graph Color [} 148]' dialog.
3. Define the minimum and maximum value of the x-axis corresponding to your data set in the 'X-Axis
Maintick Min Value' and 'X-Axis Maintick Max Value' attributes of the 'X-Axis' category.
4. Define the step size matching your data set for the 'X-Axis Maintick Steps' attribute of the 'X-Axis'
category.
5.10.2.3.2 Dialogs
Category: Colors
Name Description
Bar color Definition of the color of the bar graph
Legend name Definition of the legend name
If you have selected the data structure 'Array<Array<number>>', you can first define different arrays, each
representing a bar graph.
Name Description
Array Definition of an array of numbers representing a data
set to be displayed as a bar graph
Each of these arrays has entries that you can define using the second version of the dialog. If you use the
data structure 'Array<number>', this dialog is offered directly.
Name Description
Number Definition of a value from a data set to be displayed
as a bar graph
Category: Colors
Name Description
Bar color Definition of the color of the bar graph
Legend name Definition of the legend name
5.10.2.3.3 Attributes
BarGraphColors
Defines the colors of the graphs. Can be overwritten using the attribute BarGraphDescription.
See also
This attribute is considered obsolete. Please use the attribute BarGraphDescription instead.
BarGraphData
Schema (version 1.8): tchmi:framework#/definitions/ChartBarGraphDataDefinitionList
See also
BarGraphWidth
Schema: tchmi:general#/definitions/Number
See also
GridBackgroundColor
Schema: tchmi:framework#/definitions/SolidColor
See also
GridLineColor
Schema: tchmi:framework#/definitions/SolidColor
See also
GridLineStyle
Schema (version 1.10): tchmi:framework#/definitions/ChartLineStyle
See also
GridLineWidth
Schema: tchmi:general#/definitions/Number
See also
ShowGrid
Schema: tchmi:general#/definitions/Boolean
See also
GridShowHorizontalLines
Schema: tchmi:general#/definitions/Boolean
See also
GridShowVerticalLines
Schema: tchmi:general#/definitions/Boolean
See also
SubgridShowHorizontalLines
Schema: tchmi:general#/definitions/Boolean
See also
SubgridShowVerticalLines
Schema: tchmi:general#/definitions/Boolean
See also
ShowXAxis
Schema: tchmi:general#/definitions/Boolean
See also
XShowLabels
Schema: tchmi:general#/definitions/Boolean
See also
ShowXSubTicks
Schema: tchmi:general#/definitions/Boolean
See also
ShowYAxis
Schema: tchmi:general#/definitions/Boolean
See also
YShowLabels
Schema: tchmi:general#/definitions/Boolean
See also
ShowYAxisName
Schema: tchmi:general#/definitions/Boolean
See also
ShowYSubTicks
Schema: tchmi:general#/definitions/Boolean
See also
SubgridLineColor
Schema: tchmi:framework#/definitions/SolidColor
See also
SubgridLineStyle
Schema (Note: version 1.10): tchmi:framework#/definitions/ChartLineStyle
See also
SubgridLineWidth
Schema: tchmi:general#/definitions/Number
See also
XAxisAutoScaling
Schema: tchmi:general#/definitions/Boolean
See also
XAxisColor
Schema: tchmi:framework#/definitions/SolidColor
See also
XAxisDecimalPlaces
Schema: tchmi:general#/definitions/Number
See also
XLabelFontColor
Schema: tchmi:framework#/definitions/SolidColor
See also
XLabelFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
XLabelFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
XLabelFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
XLabelFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
XMainTickMaxValue
Schema: tchmi:general#/definitions/Number
See also
XMainTickMinValue
Schema: tchmi:general#/definitions/Number
See also
XMainTickSteps
Schema: tchmi:general#/definitions/Number
See also
XSubTickSteps
Schema: tchmi:general#/definitions/Number
See also
XAxisWidth
Schema: tchmi:general#/definitions/Number
See also
XAxisFormat
Schema:tchmi:framework#/definitions/Function
The selected function defines the X-axis labels. It is called for each displayed value of the main X-axis
subdivision. To do this, it receives the index of the BarGraphData [} 150] attribute.
A function must fulfill the following signature in order to be offered in the engineering. The parameters
mentioned here are set by the control. Further parameters are possible and can be specified per instance in
the engineering.
[ Function ]
XAxisFormat(value: number): string;
Parameter
Name Type Description
value number The current index of the value on
the X-axis.
Return value
Type Description
string The new value of the main X-axis subdivision. HTML
is not allowed here.
See also
YAxisAutoScaling
Schema: tchmi:general#/definitions/Boolean
See also
YAxisColor
Schema: tchmi:framework#/definitions/SolidColor
See also
YAxisDecimalPlaces
Schema: tchmi:general#/definitions/Number
See also
YLabelFontColor
Schema: tchmi:framework#/definitions/SolidColor
See also
YLabelFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
YLabelFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
YLabelFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
YLabelFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
YLabelFontWeight
Schema: tchmi:general#/definitions/Number
See also
YMainTickMinValue
Schema: tchmi:general#/definitions/Number
See also
YMainTickSteps
Schema: tchmi:general#/definitions/Number
See also
YAxisName
Schema: tchmi:general#/definitions/String
See also
YAxisNameFontColor
Schema: tchmi:framework#/definitions/SolidColor
See also
YAxisNameFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
YAxisNameFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
YAxisNameFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
YAxisNameFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
YSubTickSteps
Schema: tchmi:general#/definitions/Number
See also
YAxisUnit
Schema: tchmi:general#/definitions/String
See also
YAxisWidth
Schema: tchmi:general#/definitions/Number
See also
YPosition
Schema (version 1.8): tchmi:framework#/definitions/ChartBarGraphPosition
See also
SectionsBackgroundColor
Schema: tchmi:framework#/definitions/SolidColor
See also
XAxisNameFontColor
Schema: tchmi:framework#/definitions/SolidColor
See also
BarGraphDescription
Defines the colors of the graphs. Replaces the attribute BarGraphColors [} 150].
Schema: tchmi:framework#/definitions/
TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarGraphDescriptionDefinitionList
See also
ShowLegend
Schema: tchmi:general#/definitions/Boolean
See also
BarGraphArrangement
Schema: tchmi:framework#/definitions/
TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarGraphArrangement
See also
ShowXAxisName
Schema: tchmi:general#/definitions/Boolean
See also
XAxisName
Schema: tchmi:general#/definitions/String
See also
XAxisUnit
Schema: tchmi:general#/definitions/String
See also
XAxisNameFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
XAxisNameFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
XAxisNameFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
XAxisNameFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
DefaultGraphColor
This is the default color used for graphs when nothing is defined in the BarGraphColors [} 150] attribute.
Schema: tchmi:framework#/definitions/SolidColor
5.10.2.4 Button
The button is a simple switching element that provides visual feedback when the background is switched.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Text [} 177] Definition of the text displayed in the button
StateSymbol [} 179] Reflects the pressed state of the button for the
assigned symbol and vice versa.
If the button is pressed, the symbol is set to true.
If the button is released, the symbol is set to false.
If the symbol is set to true independent of the button,
the button is pressed.
If the symbol is set to false independent of the button,
the button is released.
During an active user interaction, no value changes
of the symbol are transferred to the button.
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Icon
Name Description
Icon [} 176] Definition of an optional image in the button
IconWidth [} 178] Definition of the width of the icon
IconWidthUnit [} 178] Definition of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
IconHeight [} 175] Definition of the height of the icon
IconHeightUnit [} 176] Definition of the unit of height:
• Pixels for an absolute height
• Percent for a relative height
IconHorizontalAlignment [} 176] Selecting the horizontal alignment of the icon within
the control
IconVerticalAlignment [} 178] Selecting the vertical alignment of the icon within the
control
IconPadding [} 177] Definition of the distance of the icon to the border
Name Description
BackgroundImage [} 705] Definition of an image that is located above the
background color
BackgroundImageHeight [} 706] Definition of the height of the background image
BackgroundImageHeightUnit [} 706] Selection of the unit of the height of the background
image:
• Pixels for an absolute height
• Percent for a relative height
BackgroundImageWidth [} 705] Definition of the width of the background image
BackgroundImageWidthUnit [} 705] Selection of the unit of the width of the background
image:
• Pixels for an absolute width
• Percent for a relative width
BackgroundImagePadding [} 706] Definition of an additional distance between the
border of the control and background image for the
four sides
BackgroundImageVerticalAlignment [} 707] Definition of the vertical alignment of the background
image within the control
BackgroundImageHorizontalAlignment [} 706] Definition of the horizontal alignment of the
background image within the control
Category: Text
Name Description
TextColor [} 177] Definition of the text color
TextFontFamily [} 174] Definition of the font using the name of the font family
or the keyword
TextFontSize [} 174] Definition of the font size
TextFontSizeUnit [} 175] Definition of the font size unit:
• Pixels for an absolute size
• Percent for a relative size
TextFontStyle [} 175] Selecting the font style:
• Normal
• Italic: italic
• Oblique: slanted
TextFontWeight [} 175] Selecting the font weight of the text:
• Normal
• Bold: Bold
TextPadding [} 177] Definition of the distance of the text to the border
TextVerticalAlignment [} 178] Selecting the vertical alignment of the text
TextHorizontalAlignment [} 176] Selecting the horizontal alignment of the text
WordWrap [} 179] Selecting whether the text wraps if it is too long for
one row
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onStateChanged [} 179] The pressed state has changed.
onStatePressed [} 179] The pressed state has changed from not pressed to
pressed.
onStateReleased [} 180] The pressed state has changed from pressed to not
pressed.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Button
See also
5.10.2.4.1 Attributes
TextFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
TextFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
IconHeight
Numerical value of the image height of the icon.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
IconHeightUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
IconHorizontalAlignment
Horizontal alignment of the icon.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
TextHorizontalAlignment
Horizontal alignment of the text.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
Icon
Defines an optional image in the button.
Schema: tchmi:framework#/definitions/Path
See also
IconPadding
Defines the distance of the icon to the border.
Schema: tchmi:framework#/definitions/Padding
See also
TextPadding
Defines the distance of the text to the border.
Schema: tchmi:framework#/definitions/Padding
See also
Text
Schema: tchmi:general#/definitions/String
See also
TextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
IconVerticalAlignment
Vertical alignment of the icon.
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
TextVerticalAlignment
Vertical alignment of the text.
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
IconWidth
Numerical value of the image width of the icon.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
IconWidthUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
WordWrap
Text wrapping if the content is too long to fit in a single row.
Schema: tchmi:general#/definitions/Boolean
See also
StateSymbol
Reflects the pressed state of the button for the assigned symbol and vice versa.
If the symbol is set to true independent of the button, the button is pressed.
If the symbol is set to false independent of the button, the button is released.
During an active user interaction, no value changes of the symbol are transferred to the button.
See also
5.10.2.4.2 Events
onStateChanged
The pressed state has changed.
onStatePressed
The pressed state has changed from not pressed to pressed.
onStateReleased
The pressed state has changed from pressed to not pressed.
5.10.2.5 Checkbox
A checkbox has a ToggleState [} 186] parameter. This parameter has the value "Normal" if no checkmark is
set and "Active" if the checkmark is set.
The .onToggleStateChanged [} 190] event can be used to perform actions when the state of the checkbox
changes.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
ToggleStateIconColor [} 187] Definition of the color of the toggle state icon.
TextColor [} 189] Definition of the text color.
TextBackgroundColor [} 189] Definition of the text background color.
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
StateSymbol [} 186] Reflects the state of the checkbox to the assigned
symbol and vice versa.
ToggleState [} 186] Definition of the internal switching state of the control
ToggleGroup [} 186] User-defined name for a group. Only one control in
this group can be active.
Text [} 187] The text to be displayed next to the checkbox.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
TextPosition [} 187] The text position.
TextHorizontalAlignment [} 187] The horizontal alignment of the text.
TextVerticalAlignment [} 188] The vertical alignment of the text.
TextFontFamily [} 188] Comma-separated list of fonts as font family or
keyword: 'serif', 'sans-serif', 'monospace'.
TextFontSize [} 188] The font size. If the percent is specified as the unit,
this is relative to the font size of the parent element.
TextFontSizeUnit [} 188] Pixels, or percent for relative sizes.
TextFontStyle [} 189] Font style (normal, italic: oblique with special
characters, oblique)
TextFontWeight [} 189] The font weight (normal, bold)
Events
Category: Control
Name Description
onToggleStateChanged [} 190] The ToggleState value of the checkbox has changed.
onStateChanged [} 190] The status of the checkbox has changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Checkbox
See also
5.10.2.5.1 Attributes
StateSymbol
Reflects the state of the checkbox to the assigned symbol and vice versa.
See also
ToggleState
Internal state of the control. This can be Normal or Active.
Schema: tchmi:framework#/definitions/ToggleState
See also
ToggleGroup
User-defined name for a group.
A ToggleGroup can consist of controls of the type Toggle Button [} 621] and Checkbox. [} 180]
For a more detailed description of the functionality, see the documentation at the ToggleGroup attribute of
the ToggleButton [} 628].
Schema: tchmi:general#/definitions/String
See also
ToggleStateIconColor
Schema: tchmi:framework#/definitions/SolidColor
See also
Text
The text to be displayed next to the checkbox.
Schema: tchmi:general#/definitions/String
See also
TextPosition
The text position.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCheckbox.TextPosition
See also
TextHorizontalAlignment
The horizontal alignment of the text.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
TextVerticalAlignment
The vertical alignment of the text.
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
TextFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
TextFontWeight
The font weight (normal, bold)
Schema: tchmi:framework#/definitions/FontWeight
See also
TextColor
Definition of the text color.
Schema: tchmi:framework#/definitions/SolidColor
See also
TextBackgroundColor
Definition of the text background color.
Schema: tchmi:framework#/definitions/Color
See also
5.10.2.5.2 Events
onToggleStateChanged
The ToggleState [} 186] value of the checkbox has changed.
onStateChanged
The state has changed.
5.10.2.6 Combobox
A combo box is a drop-down menu for selecting an option from several options. Each option is defined by its
ID and also has a text that is displayed in the drop-down menu, and an assigned value.
Note that the dropdown menu for the size of the control will be added to this. This becomes relevant for the
topic Overfill [} 111] with small containers.
Attributes
Category: Colors
Name Description
TextColor [} 206] Definition of the text color
DropDownTextColor [} 201] Definition of the text color in the drop-down list
DropDownBackgroundColor [} 199] Definition of the background color of the drop-down
list
DropDownHighlightColor [} 200] Definition of the highlight color of the background of a
selected entry in the drop-down list
DropDownHighlightTextColor [} 200] Definition of the highlight color of the text of a
selected entry in the drop-down list
DropDownToggleButtonBackgroundColor [} 201] Definition of the color of the button to expand the
drop-down list
DropDownToggleButtonArrowColor [} 201] Definition of the color of the arrow of the button to
expand the drop-down list
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
Category: Common
Name Description
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Data
Name Description
SrcData [} 206] Definition of data for the list entries
Text [} 206] Definition of the text that is displayed if free text entry
is allowed
AllowTextInput [} 207] Definition as to whether free text entry is to be
allowed
ComboboxText [} 198] Definition of the text that is displayed if no entry is
selected
SelectedIndex [} 205] Definition of the selected entry via its index. The first
entry in a drop-down list starts at index 0.
ContentPadding [} 207] Defines the distance of the text to the border.
Category: Text
Name Description
TextFontFamily [} 202] Definition of the font using the name of the font family
or the keyword
TextFontSize [} 202] Definition of the font size
TextFontSizeUnit [} 203] Selecting the font size unit
• Pixels for an absolute size
• Percent for a relative size
TextFontStyle [} 203] Selecting the font style:
• Normal
• Italic: italic
• Oblique: slanted
TextFontWeight [} 203] Selecting the font weight
• Normal
• Bold: Bold
TextHorizontalAlignment [} 203] Selecting the horizontal alignment of the text
TextVerticalAlignment [} 204] Definition of the vertical alignment of the text
Category: DropDown
Name Description
DropDownHorizontalAlignment [} 201] Selecting the horizontal alignment of the text in the
drop-down list
DropDownVerticalAlignment [} 202] Selecting the vertical alignment of the text in the
drop-down list
DataHeight [} 198] Definition of the height of the entries in the drop-down
menu
DataHeightUnit [} 198] Selecting the unit of the height of the list items
• Pixels for an absolute height
• Percent for a relative height
List Height [} 204] Definition of the maximum height of the drop-down
list
List Height Unit [} 204] Selecting the unit of the drop-down list height
DropDownFontFamily [} 199] Definition of the font of the list items via the name of
the font family or the keyword
DropDownFontSize [} 199] Definition of the font size of the list items
DropDownFontSizeUnit [} 199] Selecting the font size unit
• Pixels for an absolute size
• Percent for a relative size
DropDownFontStyle [} 200] Selecting the font style:
• Normal
• Italic: italic
• Oblique: slanted
DropDownFontWeight [} 200] Selecting the font weight of the text entries:
• Normal
• Bold: Bold
DropDownVerticalAlignment [} 202] Selecting the vertical alignment of the text in the
drop-down list
DropDownStyle [} 202] Defines the position of the drop-down menu
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onSelectionChanged [} 207] An entry has been selected.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Combo box
See also
5.10.2.6.1 Configuration
The combo box drop-down list can be configured in three different ways:
• Via Engineering [} 197]
• Via an array from the PLC [} 197]
◦ Array of a structure representing the structure of a list entry
The structure elements must be named identically to the attributes defined on the TwinCAT HMI
side. Upper and lower case is taken into account.
The selected element of the drop-down list can be queried through various Attributes [} 197].
To display the information of the selected element in the drop-down list, you can perform the following steps:
5.10.2.6.2 Dialogs
ComboboxSrcData dialog
This dialog can be used to define the entries of a combo box in the Engineering.
Category: General
Name Description
ID Definition of a freely selectable ID for the list entry.
This ID must be unique within the defined entries.
Text Definition of the text of the list entry
Value Definition of the value of a list entry
5.10.2.6.3 Attributes
DataHeight
Schema: tchmi:framework#/definitions/MeasurementValue
See also
DataHeightUnit
Only pixel is allowed here.
Schema: tchmi:framework#/definitions/PixelUnit
See also
ComboboxText
The text that is displayed if no entry is selected.
Schema: tchmi:general#/definitions/String
See also
DropDownBackgroundColor
Schema: tchmi:framework#/definitions/Color
See also
DropDownFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
DropDownFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
DropDownFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
DropDownFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
DropDownFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
DropDownHighlightColor
Schema: tchmi:framework#/definitions/SolidColor
See also
DropDownHighlightTextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
DropDownHorizontalAlignment
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
DropDownTextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
DropDownToggleButtonArrowColor
Schema: tchmi:framework#/definitions/SolidColor
See also
DropDownToggleButtonBackgroundColor
Schema: tchmi:framework#/definitions/Color
See also
DropDownVerticalAlignment
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
DropDownStyle
Defines the position of the drop-down menu.
• "Desktop" is the classic representation at the position of the control.
• "Mobile" is the representation in the middle of an overlay in the screen, which is separated from the
background.
See also
TextFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
TextFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
TextHorizontalAlignment
Horizontal alignment of the text.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
TextVerticalAlignment
Vertical alignment of the text.
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
MaxListHeight
Defines the height of the combo box.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
MaxListHeightUnit
Only pixel is allowed here.
Schema: tchmi:framework#/definitions/PixelUnit
See also
SelectedId
ID [} 206] of the currently selected entry. This ID must be unique within the defined entries.
Schema: tchmi:general#/definitions/UDINT
See also
SelectedIndex
Index [} 206] of the currently selected entry. The first entry in a drop-down list starts at index 0.
Schema: tchmi:general#/definitions/UDINT
See also
SelectedText
Display text [} 206] of the currently selected entry.
Schema: tchmi:general#/definitions/String
See also
SelectedValue
Value [} 206] of the currently selected entry.
Schema: tchmi:general#/definitions/String
See also
SrcData
Data for the options menu.
A simple list of options can be compiled in the Engineering. Each option consists of these components:
• ID [} 205]: Custom ID
• Text [} 205]: Display text
• Value [} 205]: Value that can be passed on later within the application.
• Category (version 1.12.744): An optional category of the value, which is displayed in the DropDown of
the control.
Further, complex data are supported by using Binding [} 103] for this parameter.
• Arrays can be used directly. In this way, a string array or number array can also be linked.
• Objects are supported as a key-value list. The name of the property is interpreted as display text, the
value is interpreted as a value.
See also
TextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
Text
The text that is displayed when text input is allowed.
Schema: tchmi:general#/definitions/String
See also
AllowTextInput
Definition of whether free text entries are allowed.
Schema: tchmi:general#/definitions/Boolean
See also
ContentPadding
Defines the distance of the text to the border.
Schema: tchmi:framework#/definitions/Padding
See also
5.10.2.6.4 Events
onSelectionChanged
A new entry has been selected.
5.10.2.7 Datagrid
A data grid is a table. Data sets can be displayed in this table that have been defined via Engineering or
dynamically via an array.
Attributes
Category: Colors
Name Description
HeaderBackgroundColor [} 225] Definition of the background color of the header row
HeaderTextColor [} 227] Definition of the text color of the column headers
RowNumbersBackgroundColor [} 228] Definition of the background color of the column for
row numbering
RowNumbersTextColor [} 230] Definition of the text color of the row numbering
TableBorderColor [} 233] Definition of the grid color
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
DataSymbol [} 223] Defines a symbol as data source.
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Data
Name Description
SrcColumn [} 232] Definition of column options - the assignment of
options to rows is based on the order in the Column
Definitions dialog [} 216]
SrcData [} 233] Definition of the data to be displayed in the DataGrid
SelectedColumnIndex [} 231] Definition of the selected column using the column
index
SelectedRowIndex [} 232] Definition of the selected row using the row index
Sorting [} 233] Defines sorting rules for sorting the displayed data.
Filter [} 234] Defines filter rules that are applied to read access to
the DataSymbol when using DataSymbol.
Category: Grid
Name Description
RowHeight [} 227] Definition of the row height
RowHeightUnit [} 228] Definition of the unit of the row height:
• Pixels for an absolute height
• Percent for a relative height
TableBorderWidth [} 234] Definition of the line width of the grid
TableBorderWidthUnit [} 225] Selecting the unit of the line width:
• Pixels for an absolute width
• Percent for a relative width
TableBorderStyle [} 234] Selecting the style of the grid lines
CellContentPadding [} 223] Definition of the distance of the text to the edge of the
cell
GridFontFamily [} 223] Definition of the font using the name of the font family
or the keyword
GridFontSize [} 224] Definition of the font size of the table contents
GridFontSizeUnit [} 224] Definition of the font size unit:
• Pixels for an absolute size
• Percent for a relative size
GridFontStyle [} 224] Selecting the font style of the table contents:
• Normal
• Italic: italic
• Oblique: slanted
GridFontWeight [} 224] Selecting the font weight of the table contents:
• Normal
• Bold: bold
SrcDataHasChanged [} 233] Indicates whether the user has changed the data.
SelectedRowValue [} 232] The value of the selected row.
SelectedCellValue [} 231] The value of the selected cell.
Category: Header
Name Description
Name Description
ShowRowNumbers [} 232] Selecting whether the row numbering is to be
displayed
RowNumbersResizable [} 230] Selecting whether the width of the columns can be
changed at runtime using the separators in the
column header row
RowNumbersWidth [} 231] Definition of the width of the row numbering column
RowNumbersWidthUnit [} 231] Selecting the unit of column width:
• Pixels for an absolute width
• Percent for a relative width
RowNumbersCellPadding [} 228] Definition of the distance of the numbering to the
edge of the cell
RowNumbersFontFamily [} 228] Definition of the font using the name of the font family
or the keyword
RowNumbersFontSize [} 229] Definition of the font size of the row numbering
RowNumbersFontSizeUnit [} 229] Definition of the font size unit:
• Pixels for an absolute size
• Percent for a relative size
RowNumbersFontStyle [} 229] Definition of the font style of the row numbering:
• Normal
• Italic
• Oblique
RowNumbersFontWeight [} 229] Definition of the font weight of the row numbering:
• Normal
• Bold
RowNumbersHorizontalAlignment [} 230] Definition of horizontal alignment of row numbering
RowNumbersVerticalAlignment [} 230] Definition of vertical alignment of row numbering
RowNumbersStartNumber [} 235] Start value of the series numbering.
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onDataChanged [} 235] The data has been changed.
onSelectedItemChanged [} 235] Another entry is now selected.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Datagrid
See also
5.10.2.7.1 Configuration
The data grid can be configured as follows to display a one-dimensional array:
In order for changes in the data grid to be written back to the controller, the following steps must be
performed:
5.10.2.7.2 Dialogs
In the Data definitions dialog you can add as many entries as you like.
After configuration, the combobox automatically displays the text stored for the respective value. The data
structure specifies from the outside the value used to select the entry in the combo box.
The following sample is based on the default configuration of the data grid. The code can be copied under
the attribute SrcData: [} 233]
[
{
"Test1": "Example Data",
"Test2": 42,
"Test3": true,
"Test4": "42"
},
{
"Test1": "Example Data",
"Test2": 3.1415,
"Test3": false,
"Test4": "43"
}
]
Show image
The data grid offers the possibility to display a column as an image.
In the "Data definitions" dialog you can add as many entries as you like.
1. Text: Name of the image. This property is used for clarity and is not displayed in the data grid.
2. Value: Value that controls which image is displayed.
3. Source: Path to the image to be displayed.
4. Width / Height: Width and height at which the image is to be displayed in the column.
5. Add: Adds a new image entry.
After configuration, the column automatically displays the image that is stored for the respective value. The
data structure specifies from the outside the value used to load the different images.
The following sample is based on the default configuration of the data grid. The code can be copied under
the attribute SrcData: [} 233]
[
{
"Test1": "Example Data",
"Test2": 42,
"Test3": true,
"Test4": "42"
},
{
"Test1": "Example Data",
"Test2": 3.1415,
"Test3": false,
"Test4": "43"
}
]
5.10.2.7.3 Attributes
CellContentPadding
Defines the distance of the cells to the border.
Schema: tchmi:framework#/definitions/Padding
See also
DataSymbol
Defines a symbol as data source.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDatagrid.DataSymbol
See also
GridFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:general#/definitions/String
See also
GridFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
GridFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
GridFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
GridFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
GridWidthUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
HeaderBackgroundColor
Schema: tchmi:framework#/definitions/Color
See also
HeaderCellPadding
Defines the distance between the header and the border.
Schema: tchmi:framework#/definitions/Padding
See also
HeaderFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
HeaderFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
HeaderFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
HeaderFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
HeaderFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
HeaderHeight
Definition of the height of the header.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
HeaderHeightUnit
Defines the unit of the height of the header:
• Pixels for an absolute size
• Percent for a relative size
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
HeaderTextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
RowHeight
Schema: tchmi:framework#/definitions/MeasurementValue
See also
RowHeightUnit
Pixel unit. At this point, only pixels can be used as a unit.
Schema: tchmi:framework#/definitions/PixelUnit
See also
RowNumbersBackgroundColor
Background color of the number column.
Schema: tchmi:framework#/definitions/Color
See also
RowNumbersCellPadding
Defines the distance of the number column to the border.
Schema: tchmi:framework#/definitions/Padding
See also
RowNumbersFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:general#/definitions/String
See also
RowNumbersFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
RowNumbersFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
RowNumbersFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
RowNumbersFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
RowNumbersHorizontalAlignment
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
RowNumbersResizable
Schema: tchmi:general#/definitions/Boolean
See also
RowNumbersTextColor
Text color of the number column.
Schema: tchmi:framework#/definitions/SolidColor
See also
RowNumbersVerticalAlignment
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
RowNumbersWidth
Width of the number column.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
RowNumbersWidthUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
SelectedCellValue
Schema: tchmi:general#/definitions/Any
See also
SelectedColumnIndex
The selected column is addressed by index.
Schema: tchmi:general#/definitions/UDINT
See also
SelectedRowIndex
The selected row is addressed by index.
Schema: tchmi:general#/definitions/UDINT
See also
SelectedRowValue
Schema: tchmi:general#/definitions/Any
See also
ShowRowNumbers
Schema: tchmi:general#/definitions/Boolean
See also
SrcColumn
Schema (version 1.8): tchmi:framework#/definitions/DGColumnDefinitionList
See also
SrcData
Schema: tchmi:general#/definitions/Array
See also
SrcDataHasChanged
Schema: tchmi:general#/definitions/Boolean
See also
Sorting
Defines sorting rules for sorting the displayed data.
See also
TableBorderColor
Schema: tchmi:framework#/definitions/SolidColor
See also
TableBorderStyle
Schema: tchmi:framework#/definitions/BorderStyle
See also
TableBorderWidth
Schema: tchmi:framework#/definitions/MeasurementValue
See also
Filter
Defines filter rules that are applied to read access to the DataSymbol when using DataSymbol.
Schema: tchmi:server#/definitions/filter
See also
RowClassesProvider
Can be used to change the display of table rows or cells depending on the data. To do this, the attribute is
configured with a user-defined function that takes the contents of a single table row and returns an array of
strings that are set as CSS classes on the respective row element. Using a custom CSS file or theme, these
classes can be used to customize the look of the table.
Schema: tchmi:framework#/definitions/Function
See also
RowNumbersStartNumber
Start value of the series numbering.
Schema: tchmi:general#/definitions/Number
See also
5.10.2.7.4 Events
onDataChanged
The data [} 233] has been changed.
onSelectedItemChanged
Another entry is now selected.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
TimeDisplayLayout [} 244] Defines the display of time and date.
• Time: Only the time is displayed.
• Date: Only the date is displayed
• TimeDateSingleLine: Time and date are displayed
in a single line.
• TimeDateMultiLine: Time and date are displayed
one below the other.
• DateTimeSingleLine: Date and time are displayed
in a single line.
• DateTimeMultiLine: Date and time are displayed
one below the other.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Name Description
BackgroundImage [} 705] Definition of an image that is located above the
background color
BackgroundImageHeight [} 706] Definition of the height of the background image
BackgroundImageHeightUnit [} 706] Selection of the unit of the height of the background
image:
• Pixels for an absolute height
• Percent for a relative height
BackgroundImageWidth [} 705] Definition of the width of the background image
BackgroundImageWidthUnit [} 705] Selection of the unit of the width of the background
image:
• Pixels for an absolute width
• Percent for a relative width
BackgroundImagePadding [} 706] Definition of an additional distance between the
border of the control and background image for the
four sides
BackgroundImageVerticalAlignment [} 707] Definition of the vertical alignment of the background
image within the control
BackgroundImageHorizontalAlignment [} 706] Definition of the horizontal alignment of the
background image within the control
Category: Text
Name Description
TextColor [} 243] Definition of the text color
TextFontFamily [} 242] Definition of the font using the name of the font family
or the keyword
TextFontSize [} 242] Definition of the font size
TextFontSizeUnit [} 243] Definition of the font size unit:
• Pixels for an absolute size
• Percent for a relative size
TextFontStyle [} 243] Selecting the font style:
• Normal
• Italic
• Oblique
TextFontWeight [} 243] Selecting the font weight of the text:
• Normal
• Bold
TextVerticalAlignment [} 244] Selecting the vertical alignment of the text
TextHorizontalAlignment [} 244] Selecting the horizontal alignment of the text
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
DateTimeDisplay
See also
5.10.2.8.1 Attribute
TextFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
TextFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
TextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
TextHorizontalAlignment
Horizontal alignment of the text.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
TextVerticalAlignment
Vertical alignment of the text.
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
TimeDisplayLayout
Display of the date and time.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDateTimeDisplay.TimeDisplayLayout
See also
Attributes
Category: Colors
Name Description
ValueColor [} 251] Definition of the text color
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Value [} 251] Definition of the value
AutoFocusOut [} 254] Determines whether the control automatically loses
focus when the user confirms or ends his input by
pressing Enter or Escape.
AutoSelectText [} 254] Determines whether the Control automatically selects
the entire text when it is focused.
ResetToLastValidValue [} 254] Determines whether the value is reset to the last valid
value when focus is lost.
ButtonPosition [} 255] The position of the button relative to the display.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Value
Name Description
ValueFontFamily [} 251] Definition of the font using the name of the font family
or the keyword
ValueFontSize [} 252] Definition of the font size
ValueFontSizeUnit [} 252] Definition of the font size unit:
• Pixels for an absolute size
• Percent for a relative size
ValueFontStyle [} 252] Selecting the font style:
• Normal
• Italic
• Oblique
ValueFontWeight [} 253] Selecting the font weight of the text:
• Normal
• Bold
ContentPadding [} 253] Definition of the distance of the text to the border
ValueHorizontalAlignment [} 253] Selecting the horizontal alignment of the text
Placeholder [} 253] Definition of the placeholder, which is displayed if no
value is entered.
Events
Category: Control
Name Description
onValueChanged [} 255] The value has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onUserInteractionFinished [} 256] The user has finished the interaction with the control.
onFocusIn [} 255] The control now has the focus.
onFocusOut [} 255] The control has lost focus.
onUserInteractionCanceled [} 256] The user has terminated the interaction with the
control element.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
See also
5.10.2.9.1 Attribute
ValueColor
Color of the value.
Schema: tchmi:framework#/definitions/SolidColor
See also
Value
Value of the control.
Schema: tchmi:general#/definitions/DateTime
See also
ValueFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
ValueFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
ValueFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
ValueFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
ValueFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
ValueHorizontalAlignment
Horizontal alignment of the text.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
ContentPadding
Defines the distance of the text to the border.
Schema: tchmi:framework#/definitions/Padding
See also
Placeholder
Placeholder which is displayed if no text is entered.
Schema: tchmi:general#/definitions/String
See also
AutoFocusOut
Determines whether the control automatically loses focus when the user confirms or ends his input by
pressing Enter or Escape.
Schema: tchmi:general#/definitions/Boolean
See also
AutoSelectText
Determines whether the Control automatically selects the entire text when it is focused.
Schema: tchmi:general#/definitions/Boolean
See also
ResetToLastValidValue
Determines whether the value is reset to the last valid value when focus is lost.
Schema: tchmi:general#/definitions/Boolean
See also
ButtonPosition
The position of the button relative to the display.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiDateTimeInput.ButtonPosition
See also
5.10.2.9.2 Events
onFocusIn
The control now has the focus.
onFocusOut
The control has lost focus.
onValueChanged
The value has been changed.
onUserInteractionFinished
The user has finished the interaction with the control.
onUserInteractionCanceled
The user has terminated the interaction with the control element.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Value [} 261] Value of the control as ISO timestring.
DirectDisplay [} 262] Determines whether the control is displayed directly
in the View or used as a pop-up. The pop-up opens
by the function openDateTimePicker [} 263] and
closes by the function closeDateTimePicker [} 263].
ShowConfirmationButtons [} 262] Determines whether the input into the control must be
confirmed.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Category: Control
Name Description
onCancel [} 262] The input was canceled.
onConfirmed [} 263] The input was confirmed.
onUserInteractionFinished [} 263] The user has finished the interaction with the control.
onValueChanged [} 262] The value has been changed.
Functions
Name Origin Description
openDateTimePicker [} 263] TcHmiDateTimePicker Opens the Date Time Picker
closeDateTimePicker [} 263] TcHmiDateTimePicker Closes the Date Time Picker
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
See also
5.10.2.10.1 Attributes
Value
Value of the control as ISO timestring.
Schema: tchmi:general#/definitions/DateTime
See also
DirectDisplay
Determines whether the control is displayed directly in the View or used as a pop-up. The pop-up opens by
the function openDateTimePicker [} 263] and closes by the function closeDateTimePicker [} 263].
Schema: tchmi:general#/definitions/Boolean
See also
ShowConfirmationButtons
Determines whether the input into the control must be confirmed.
Schema: tchmi:general#/definitions/Boolean
See also
5.10.2.10.2 Events
onValueChanged
The value has been changed.
onCancel
The input was canceled.
onConfirmed
The input was confirmed.
onUserInteractionFinished
The user has finished the interaction with the control.
5.10.2.10.3 Functions
openDateTimePicker
Opens the Date Time Picker.
closeDateTimePicker
Closes the Date Time Picker.
5.10.2.11 Ellipse
An elliptical object.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Appearance
Name Description
FillColor [} 269] Definition of the fill color of the control
StrokeColor [} 269] Definition of the line color of the control
StrokeStyle [} 269] Selecting the style of the ellipse line
StrokeThickness [} 270] Definition of the line width of the ellipse
StrokeThicknessUnit [} 270] Selecting the unit of the line width:
• Pixels for an absolute width
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Ellipse
See also
5.10.2.11.1 Attributes
FillColor
Defines the fill color of the control.
Schema: tchmi:framework#/definitions/Color
See also
StrokeColor
Defines the stroke color of the control.
Schema: tchmi:framework#/definitions/SolidColor
See also
StrokeStyle
Definition of the stroke style.
Comma or space-separated list of numbers that specify the length of strokes and spaces.
If an odd number is specified, the list is repeated once. Example: "5, 3, 2" is equivalent to "5, 3, 2, 5, 3, 2".
Schema: tchmi:general#/definitions/String
See also
StrokeThickness
Defines the stroke thickness of the control in pixels.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
StrokeThicknessUnit
Pixel unit. At this point, only pixels can be used as a unit.
Schema: tchmi:framework#/definitions/PixelUnit
See also
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Filter [} 279] Defines which events are queried by the server
Sorting [} 280] Defines sorting rules for sorting the displayed data.
Columns [} 279] The columns to be displayed in the EventGrid
AllowDetailsPopup [} 280] Defines whether a dialog with detailed information is
automatically displayed when interacting with an
event entry.
Activated by default.
Can be disabled to implement a customized display
of the detailed information.
SelectedEvent [} 280] Returns the selected event or zero if no event is
selected.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Name Description
MenuBarPosition [} 279] Defines the position of the menu bar.
ShowMenuBar [} 280] Defines whether the menu bar is displayed.
ButtonFontFamily [} 284] Defines the font of the button text.
ButtonFontSize [} 285] Defines the font size of the button text.
ButtonFontSizeUnit [} 285] Defines the unit of the button text font size.
ButtonFontStyle [} 285] Defines the font style of the button text.
ButtonFontWeight [} 285] Defines the font weight (normal, bold) of the button
text.
ButtonHeight [} 286] Defines the height of the buttons.
ButtonHeightUnit [} 286] Defines the unit of button height.
Category: Grid
Name Description
HeaderFontFamily [} 281] Defines the font of the text in the header bar.
HeaderFontSize [} 281] Defines the font size of the text in the header bar.
HeaderFontSizeUnit [} 281] Defines the font size unit of the text in the header bar.
HeaderFontStyle [} 282] Defines the font style of the text in the header bar.
HeaderFontWeight [} 282] Defines the font weight (normal, bold) of the text in
the header bar.
GridFontFamily [} 282] Defines the font of the text in the table.
GridFontSize [} 282] Defines the font size of the text in the table.
GridFontSizeUnit [} 283] Defines the font size unit of the text in the table.
GridFontStyle [} 283] Defines the font style of the text in the table.
GridFontWeight [} 283] Defines the font weight (normal, bold) of the text in
the table.
HeaderHeight [} 283] Defines the height of the header bar.
HeaderHeightUnit [} 284] Defines the height unit of the header bar.
RowHeight [} 284] Defines the height of the table rows.
RowHeightUnit [} 284] Defines the height unit of the table rows.
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
configure [} 286] Determines whether the column configuration in the
event grid is customizable.
viewDetails [} 286] Determines whether the display of event details can
be enabled in the event grid.
Functions
Name Origin Description
confirmSelectedAlarm TcHmiEventGrid Acknowledges all selected alarms
confirmAllAlarms TcHmiEventGrid Acknowledges all alarms
Inheritance hierarchy
Control [} 690]
Event Grid
See also
5.10.2.12.1 Configuration
The TwinCAT 3 EventLogger can be used to send events. The display of the events can be defined via the
filters [} 276]. The columns [} 277] can be configured via the Properties. Further information about the
EventGrid can be found in the section Event System [} 922].
5.10.2.12.2 Dialogs
Filter
You can configure which events are to be displayed via the filter editor. The filters are defined via the
properties of the Event Grid.
Grouping of conditions
Several conditions can be grouped and linked if more than one condition is selected. The conditions are
selected by clicking the rows with the CTRL key pressed.
1. Group clause: grouping of several clauses. The brackets link them optically.
2. Ungroup clause: ungrouping.
Columns
The columns to be displayed in the Event Grid can be configured in the columns editor. The columns can
also be configured in the client at runtime.
An entry is added for each column. The column name is specified via the combo box, where you can select a
column from all available columns [} 279].
1. Type: The type of column indicates whether it is a normal "Column" or a "CustomColumn". The selec-
tion of the column type can be made via the lower combo box (1). The parameters of the parameter
object of an event can be displayed in a custom column.
2. ColumnName: The name of the column to be displayed.
For a column of type "Column", the names can be selected via the combo box.
For a column of type "CustomColumn" the parameters are displayed with the keyword "params::"
(without quotation marks) and the name of the parameter in camelCase.
Using the example of the EventLogger, the "SourceName" can be displayed in a column, for example:
The parameter object can differ for different event sources. If an event does not have the parameter in
the parameter object configured in the column, an empty entry is displayed in the corresponding cell.
3. Width: The width of the column. If no value is specified, the width is set automatically.
5.10.2.12.3 Attributes
Filter
Defines which events are queried by the server.
Schema: tchmi:server#/definitions/eventFilter
See also
Columns
The columns to be displayed in the Event Grid.
See also
MenuBarPosition
Defines the position of the menu bar.
See also
ShowMenuBar
Defines whether the menu bar is displayed.
Schema: tchmi:general#/definitions/Boolean
See also
Sorting
Defines sorting rules for sorting the displayed data.
See also
AllowDetailsPopup
Defines whether a dialog with detailed information is automatically displayed when interacting with an event
entry.
Activated by default.
Schema: tchmi:general#/definitions/Boolean
See also
SelectedEvent
Returns the selected event or zero if no event is selected.
See also
HeaderFontFamily
Defines the font of the text in the header bar.
Schema: tchmi:framework#/definitions/FontFamily
See also
HeaderFontSize
Defines the font size of the text in the header bar.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
HeaderFontSizeUnit
Defines the font size unit of the text in the header bar.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
HeaderFontStyle
Defines the font style of the text in the header bar.
Schema: tchmi:framework#/definitions/FontStyle
See also
HeaderFontWeight
Defines the font weight (normal, bold) of the text in the header bar.
Schema: tchmi:framework#/definitions/FontWeight
See also
GridFontFamily
Defines the font of the text in the table.
Schema: tchmi:framework#/definitions/FontFamily
See also
GridFontSize
Defines the font size of the text in the table.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
GridFontSizeUnit
Defines the font size unit of the text in the table.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
GridFontStyle
Defines the font style of the text in the table.
Schema: tchmi:framework#/definitions/FontStyle
See also
GridFontWeight
Defines the font weight (normal, bold) of the text in the table.
Schema: tchmi:framework#/definitions/FontWeight
See also
HeaderHeight
Defines the height of the header bar.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
HeaderHeightUnit
Defines the height unit of the header bar.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
RowHeight
Defines the height of the table rows.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
RowHeightUnit
Defines the height unit of the table rows.
Schema: tchmi:framework#/definitions/PixelUnit
See also
ButtonFontFamily
Defines the font of the button text.
Schema: tchmi:framework#/definitions/FontFamily
See also
ButtonFontSize
Defines the font size of the button text.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
ButtonFontSizeUnit
Defines the unit of the button text font size.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
ButtonFontStyle
Defines the font style of the button text.
Schema: tchmi:framework#/definitions/FontStyle
See also
ButtonFontWeight
Defines the font weight (normal, bold) of the button text.
Schema: tchmi:framework#/definitions/FontWeight
See also
ButtonHeight
Defines the height of the buttons.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
ButtonHeightUnit
Defines the unit of button height.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
5.10.2.12.4 Permissions
configure
Determines whether the column configuration in the event grid is customizable.
See also
viewDetails
Determines whether the display of event details can be enabled in the event grid.
See also
Attributes
Category: Colors
Name Description
TextColor [} 296] Defines the font color of the control.
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Filter [} 295] Defines which events are queried by the server.
Sorting [} 296] Defines sorting rules for sorting the displayed data.
ServerInterval [} 298] Defines the interval for the server subscription in
milliseconds.
TargetRegion [} 298] The TcHmiRegion control instance in which the
content page defined in the TargetContent attribute is
loaded when the control is clicked.
TargetContent [} 298] The content page that is loaded when the control is
clicked in the defined TcHmiRegion.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Text
Name Description
TextFontFamily [} 296] Defines the font of the control.
TextFontSize [} 297] Defines the font size of the control.
TextFontSizeUnit [} 297] Defines the unit of the control's font size.
TextFontStyle [} 297] Defines the style of the control's font.
TextFontWeight [} 298] Defines the font weight (normal, bold) of the control's
font.
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Name Description
BackgroundImage [} 705] Definition of an image that is located above the
background color
BackgroundImageHeight [} 706] Definition of the height of the background image
BackgroundImageHeightUnit [} 706] Selection of the unit of the height of the background
image:
• Pixels for an absolute height
• Percent for a relative height
BackgroundImageWidth [} 705] Definition of the width of the background image
BackgroundImageWidthUnit [} 705] Selection of the unit of the width of the background
image:
• Pixels for an absolute width
• Percent for a relative width
BackgroundImagePadding [} 706] Definition of an additional distance between the
border of the control and background image for the
four sides
BackgroundImageVerticalAlignment [} 707] Definition of the vertical alignment of the background
image within the control
BackgroundImageHorizontalAlignment [} 706] Definition of the horizontal alignment of the
background image within the control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
configure [} 286] Determines whether the column configuration in the
event grid is customizable.
viewDetails [} 286] Determines whether the display of event details can
be enabled in the event grid.
Inheritance hierarchy
Control [} 690]
Event Line
See also
5.10.2.13.1 Configuration
The TwinCAT 3 EventLogger can be used to send events. The display of the events can be defined via the
filters [} 294]. The columns can be configured via the Properties. Further information about the EventLine
can be found in the section Event System [} 922].
5.10.2.13.2 Dialogs
Filter
You can configure which events are to be displayed via the filter editor. The filters are defined via the
properties of the Event Grid.
Grouping of conditions
Several conditions can be grouped and linked if more than one condition is selected. The conditions are
selected by clicking the rows with the CTRL key pressed.
1. Group clause: grouping of several clauses. The brackets link them optically.
2. Ungroup clause: ungrouping.
5.10.2.13.3 Attributes
Filter
Defines which events are queried by the server.
Schema: tchmi:server#/definitions/eventFilter
See also
Sorting
Defines sorting rules for sorting the displayed data.
Schema: tchmi:framework#/definitions/Sorting
See also
TextColor
Defines the color of the font.
Schema: tchmi:framework#/definitions/SolidColor
See also
TextFontFamily
Defines the font.
Schema: tchmi:framework#/definitions/FontFamily
See also
TextFontSize
Defines the font size.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Defines the unit of the font size.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextFontStyle
Defines the style of the font.
Schema: tchmi:framework#/definitions/FontStyle
See also
TextFontWeight
Defines the font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
TargetRegion
Defines the TcHmiRegion control which displays the defined TargetContent [} 298] after a click on the button
of the control. The button is displayed only if the TargetRegion and TargetContent attributes are defined.
Schema: tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiRegion
See also
TargetContent
Defines the content page which is displayed in the defined TargetRegion [} 298] after a click on the button of
the control. The button is displayed only if the TargetContent and TargetRegion attributes are defined.
Schema: tchmi:framework#/definitions/ContentPath
See also
ServerInterval
Defines the interval for the server subscription in milliseconds.
Schema: tchmi:general#/definitions/Number
See also
Attributes
Category: Colors
Name Description
XAxisColor [} 309] Definition of the color of the X-axis
YAxisColor [} 309] Definition of the color of the Y-axis
GridBackgroundColor [} 309] Definition of the background color of the coordinate
system
GridLineColor [} 310] Definition of the color of the coordinate grid
SubgridLineColor [} 310] Definition of the color of the coordinate subgrid
SectionsBackgroundColor [} 310] Definition of the color of the sections
XLabelFontColor [} 311] Definition of the font color of the X-axis labels
XAxisNameFontColor [} 311] Definition of the font color of the Y-axis name
YLabelFontColor [} 311] Definition of the font color of the Y-axis labels
YAxisNameFontColor [} 311] Definition of the font color of the Y-axis name
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
BarGraphData [} 312] Definition of the data to be displayed as graph using
the 'Bar Graph Data [} 308]' dialog.
BarGraphDescription [} 312] Definition of the display mode of the configured bar
graphs using the Bar Graph Description [} 308]
dialog.
ShowLegend [} 312] Selecting whether the legend is to be displayed.
BarGraphArrangement [} 313] Selection of the display mode of the bar chart:
• Overlapped: Bars are drawn on top of each other
• Clustered: Bars are drawn next to each other
BarGraphWidth [} 313] Definition of the width of the individual bars.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: XAxis
Name Description
ShowXAxis [} 313] Selecting whether the X-axis is to be displayed.
XPosition [} 313] Selecting the position of the X-axis on the coordinate
system.
• Left: X-axis is displayed on the left side of the
coordinate system.
Right: X-axis is displayed on the right side of the
coordinate system.
XShowLabels [} 314] Selecting whether the X-axis labels are to be
displayed.
XMainTickMinValue [} 314] Definition of the minimum value of the X-axis main
subdivision.
XMainTickMaxValue [} 314] Definition of the maximum value of the X-axis main
subdivision.
XAxisAutoScaling [} 314] Selecting whether the X-axis should be automatically
scaled according to the data sets. 'Maintick Min
Value', 'Maintick Max Value' and 'X-Axis Maintick
Steps' need not be set.
XMainTickSteps [} 315] Definition of the step size of the X-axis main
subdivision.
ShowXAxisName [} 315] Selecting whether the X-axis name is to be displayed.
XAxisName [} 315] Definition of the X-axis name.
XAxisDecimalPlaces [} 316] Definition of the decimal places displayed for the X-
axis.
XAxisUnit [} 316] Definition of the X-axis unit.
XLabelFontFamily [} 316] Definition of the font using the name of the font family
or the keyword.
XLabelFontSize [} 316] Definition of the font size for the X-axis labels.
XLabelFontSizeUnit [} 317] Selecting the font size unit for the X-axis labels:
• Pixels for an absolute size
• Percent for a relative size
XLabelFontWeight [} 317] Selecting the font weight of the X-axis labels:
• Normal
• Bold
XAxisWidth [} 317] Definition of the X-axis width.
XNameFontFamily [} 318] Definition of the font using the name of the font family
or the keyword.
XNameFontSize [} 318] Definition of the font size of the X axis name.
XNameFontSizeUnit [} 318] Selecting the unit of the font size of the X axis name:
• Pixels for an absolute size
• Percent for a relative size
XNameFontWeight [} 319] Selecting of the font weight of the X-axis name:
• Normal
• Bold
XAxisFormat [} 319] Definition of the formatting of the X-axis labels.
Category: YAxis
Name Description
ShowYAxis [} 320] Selecting whether the Y-axis is to be displayed.
YShowLabels [} 320] Selecting whether the Y-axis labels are to be
displayed.
YMainTickMinValue [} 320] Definition of the minimum value of the Y-axis main
subdivision.
YMainTickMaxValue [} 320] Definition of the maximum value of the Y-axis main
subdivision.
YAxisAutoScaling [} 321] Selecting whether the Y-axis should be automatically
scaled according to the data sets. 'Maintick Min
Value', 'Maintick Max Value' and 'Y-Axis Maintick
Steps' need not be set.
YMainTickSteps [} 321] Definition of the step size of the Y-axis main
subdivision.
ShowYSubTicks [} 321] Selecting whether the subcoordinate points are to be
displayed on the Y-axis.
YSubTickSteps [} 321] Definition of the step size of the Y-axis subdivision.
ShowYAxisName [} 322] Selecting whether the Y-axis name is to be displayed.
YAxisName [} 322] Definition of the Y-axis name.
YAxisDecimalPlaces [} 322] Definition of the decimal places displayed for the Y-
axis.
YAxisUnit [} 323] Definition of the unit of the Y-axis.
YLabelFontFamily [} 323] Definition of the font using the name of the font family
or the keyword.
YLabelFontSize [} 323] Definition of the font size for the Y-axis labels.
YLabelFontSizeUnit [} 323] Selecting the font size unit for the Y-axis labels:
• Pixels for an absolute size
• Percent for a relative size
YLabelFontWeight [} 324] Selecting the font weight of the Y-axis labels:
• Normal
• Bold
YAxisWidth [} 324] Definition of the Y-axis width.
YAxisNameFontFamily [} 324] Definition of the font using the name of the font family
or the keyword.
YAxisNameFontSize [} 325] Definition of the font size of the Y-axis name.
YAxisNameFontSizeUnit [} 325] Selecting the unit of the font size of the Y-axis name:
• Pixels for an absolute size
• Percent for a relative size
YAxisNameFontWeight [} 325] Selecting of the font weight of the Y-axis name:
• Normal
• Bold
Category: Grid
Name Description
ShowGrid [} 326] Selecting whether the coordinate grid is to be
displayed.
GridShowHorizontalLines [} 326] Selecting whether the horizontal lines of the
coordinate grid are to be displayed.
GridShowVerticalLines [} 326] Selecting whether the vertical lines of the coordinate
grid are to be displayed.
GridLineStyle [} 327] Definition of the line style for the coordinate grid.
GridLineWidth [} 326] Definition of the line width of the coordinate grid.
SubgridShowVerticalLines [} 327] Selecting whether the vertical lines of the subgrid are
to be displayed.
SubgridLineStyle [} 327] Definition of the line style of the subgrid.
SubgridLineWidth [} 327] Definition of the line width of the subgrid.
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
See also
5.10.2.14.1 Configuration
A bar chart can be configured in different ways:
• Via Engineering [} 307]
◦ Array of numbers
◦ Array of arrays of numbers
• Via an array from the PLC [} 307]
◦ Array of numbers
aVaules : ARRAY [1..10] OF INT;
◦ Array of arrays of numbers
aValues : ARRAY [1..2, 1..10] OF INT;
3. Define the number of members of the array and their values for the 'Bar Graph Data' attribute of the
'Common' category using the 'Bar Graph Data [} 308]' dialog.
3. Define the number of data sets of the array for the 'Bar Graph Data' attribute of the 'Common' category
using the 'Bar Graph Data [} 308]' dialog.
4. Define the number of members of the array and their values using the 'Bar Graph Data [} 308]' dialog.
2. Link the array to the 'Bar Graph Data' attribute of the 'Common' category.
Advanced Settings:
1. Define the color of the individual data sets for the 'Bar Graph Colors' attribute of the 'Common' category
using the 'Bar Graph Color [} 308]' dialog.
3. Define the minimum and maximum value of the x-axis corresponding to your data set in the 'X-Axis
Maintick Min Value' and 'X-Axis Maintick Max Value' attributes of the 'X-Axis' category.
4. Define the step size matching your data set for the 'X-Axis Maintick Steps' attribute of the 'X-Axis'
category.
5.10.2.14.2 Dialogs
Category: Colors
Name Description
Bar color Definition of the color of the bar graph
Legend name Definition of the legend name
If you have selected the data structure 'Array<Array<number>>', you can first define different arrays, each
representing a bar graph.
Name Description
Array Definition of an array of numbers representing a data
set to be displayed as a bar graph
Each of these arrays has entries that you can define using the second version of the dialog. If you use the
data structure 'Array<number>', this dialog is offered directly.
Name Description
Number Definition of a value from a data set to be displayed
as a bar graph
Category: Colors
Name Description
Bar color Definition of the color of the bar graph
Legend name Definition of the legend name
5.10.2.14.3 Attributes
XAxisColor
Schema: tchmi:framework#/definitions/SolidColor
See also
YAxisColor
Schema: tchmi:framework#/definitions/SolidColor
See also
GridBackgroundColor
Schema: tchmi:framework#/definitions/SolidColor
See also
GridLineColor
Schema: tchmi:framework#/definitions/SolidColor
See also
SubgridLineColor
Schema: tchmi:framework#/definitions/SolidColor
See also
SectionsBackgroundColor
Schema: tchmi:framework#/definitions/SolidColor
See also
XLabelFontColor
Schema: tchmi:framework#/definitions/SolidColor
See also
XAxisNameFontColor
Schema: tchmi:framework#/definitions/SolidColor
See also
YLabelFontColor
Schema: tchmi:framework#/definitions/SolidColor
See also
YAxisNameFontColor
Schema: tchmi:framework#/definitions/SolidColor
See also
BarGraphData
Schema: tchmi:framework#/definitions/
TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarGraphDataDefinitionList
See also
BarGraphDescription
Schema: tchmi:framework#/definitions/
TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarGraphDescriptionDefinitionList
See also
ShowLegend
Schema: tchmi:general#/definitions/Boolean
See also
BarGraphArrangement
Schema: tchmi:framework#/definitions/
TcHmi.Controls.Beckhoff.TcHmiBarChart.ChartBarGraphArrangement
See also
BarGraphWidth
Schema: tchmi:general#/definitions/Number
See also
ShowXAxis
Schema: tchmi:general#/definitions/Boolean
See also
XPosition
Schema: tchmi:framework#/definitions/
TcHmi.Controls.Beckhoff.TcHmiHorizontalBarChart.ChartBarGraphPosition
See also
XShowLabels
Schema: tchmi:general#/definitions/Boolean
See also
XMainTickMinValue
Schema: tchmi:general#/definitions/Number
See also
XMainTickMaxValue
Schema: tchmi:general#/definitions/Number
See also
XAxisAutoScaling
Schema: tchmi:general#/definitions/Boolean
See also
XMainTickSteps
Schema: tchmi:general#/definitions/Number
See also
ShowXAxisName
Schema: tchmi:general#/definitions/Boolean
See also
XAxisName
Schema: tchmi:general#/definitions/String
See also
XAxisDecimalPlaces
Schema: tchmi:general#/definitions/Number
See also
XAxisUnit
Schema: tchmi:general#/definitions/String
See also
XLabelFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
XLabelFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
XLabelFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
XLabelFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
XAxisWidth
Schema: tchmi:general#/definitions/Number
See also
XAxisNameFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
XAxisNameFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
XAxisNameFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
XAxisNameFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
XAxisFormat
Schema:tchmi:framework#/definitions/Function
The selected function defines the X-axis labels. It is called for each displayed value of the main X-axis
subdivision. To do this, it receives the index of the BarGraphData [} 312] attribute.
A function must fulfill the following signature in order to be offered in the engineering. The parameters
mentioned here are set by the control. Further parameters are possible and can be specified per instance in
the engineering.
[ Function ]
XAxisFormat(value: number): string;
Parameter
Name Type Description
value number The current index of the value on
the X-axis.
Return value
Type Description
string The new value of the main X-axis subdivision. HTML
is not allowed here.
See also
ShowYAxis
Schema: tchmi:general#/definitions/Boolean
See also
YShowLabels
Schema: tchmi:general#/definitions/Boolean
See also
YMainTickMinValue
Schema: tchmi:general#/definitions/Number
See also
YMainTickMaxValue
Schema: tchmi:general#/definitions/Number
See also
YAxisAutoScaling
Schema: tchmi:general#/definitions/Boolean
See also
YMainTickSteps
Schema: tchmi:general#/definitions/Number
See also
ShowYSubTicks
Schema: tchmi:general#/definitions/Boolean
See also
YSubTickSteps
Schema: tchmi:general#/definitions/Number
See also
ShowYAxisName
Schema: tchmi:general#/definitions/Boolean
See also
YAxisName
Schema: tchmi:general#/definitions/String
See also
YAxisDecimalPlaces
Schema: tchmi:general#/definitions/Number
See also
YAxisUnit
Schema: tchmi:general#/definitions/String
See also
YLabelFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
YLabelFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
YLabelFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
YLabelFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
YAxisWidth
Schema: tchmi:general#/definitions/Number
See also
YAxisNameFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
YAxisNameFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
YAxisNameFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
YAxisNameFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
ShowGrid
Schema: tchmi:general#/definitions/Boolean
See also
GridShowHorizontalLines
Schema: tchmi:general#/definitions/Boolean
See also
GridShowVerticalLines
Schema: tchmi:general#/definitions/Boolean
See also
GridLineWidth
Schema: tchmi:general#/definitions/Number
See also
GridLineStyle
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.ChartLineStyle
See also
SubgridShowVerticalLines
Schema: tchmi:general#/definitions/Boolean
See also
SubgridLineWidth
Schema: tchmi:general#/definitions/Number
See also
SubgridLineStyle
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.ChartLineStyle
See also
DefaultGraphColor
This is the default color used for graphs when nothing is defined in the BarGraphDescription [} 312] attribute.
Schema: tchmi:framework#/definitions/SolidColor
5.10.2.15 IFrame
An IFrame is a nested browser context. It can be used to implement another web page in the visualization.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Src [} 332] Definition of the URL of the web page to be
embedded or the path of a PDF to be displayed
Example of URL: https://www.beckhoff.com
Example of PDF: <Path within the TC HMI project>/
Test.pdf#page=10
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
BackgroundImage [} 705] Definition of an image that is located above the
background color
BackgroundImageHeight [} 706] Definition of the height of the background image
BackgroundImageHeightUnit [} 706] Selection of the unit of the height of the background
image:
• Pixels for an absolute height
• Percent for a relative height
BackgroundImageWidth [} 705] Definition of the width of the background image
BackgroundImageWidthUnit [} 705] Selection of the unit of the width of the background
image:
• Pixels for an absolute width
• Percent for a relative width
BackgroundImagePadding [} 706] Definition of an additional distance between the
border of the control and background image for the
four sides
BackgroundImageVerticalAlignment [} 707] Definition of the vertical alignment of the background
image within the control
BackgroundImageHorizontalAlignment [} 706] Definition of the horizontal alignment of the
background image within the control
Events
Category: Control
Name Description
onLoad [} 333] The IFrame was loaded successfully.
onError [} 333] The IFrame was not loaded successfully.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Keyboard, mouse or touch screen interaction events are not available in this control because the content is
displayed in a separate sandbox within the browsers.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
IFrame
See also
5.10.2.15.1 Attributes
Src
The URL of the website to embed.
Schema: tchmi:general#/definitions/String
See also
5.10.2.15.2 Events
onError
The IFrame was not loaded successfully.
onLoad
The IFrame was loaded successfully.
5.10.2.16 Image
An image is an image display in which image files from the project path can be displayed. The supported
image formats are defined by the browser used.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 339] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side. The 'Width' attribute is ignored
in all calculations!
• Content: The width is calculated from the height.
The aspect ratio of the image is maintained. If
'Width Mode' and 'Height Mode' are set to Content,
the image is drawn in its original size.
HeightMode [} 339] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side. The 'Height' attribute is
ignored in all calculations!
Name Description
• Content: The height is calculated from the width
while maintaining the aspect ratio of the image. If
'Width Mode' and 'Height Mode' are set to Content,
the image is drawn in its original size.
OriginalWidth [} 340] Original width of the image file.
OriginalHeight [} 339] Original height of the image file.
Category: Common
Name Description
Src [} 338] Definition of the image path within the TC HMI project
Alt [} 338] Definition of an alternative text that is displayed if the
image cannot or should not be loaded
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Control
Name Description
onLoad [} 340] The image was loaded successfully.
onError [} 340] The image was not loaded successfully.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Image
See also
5.10.2.16.1 Attributes
Src
The address of the image. Images on other servers are also possible.
Schema: tchmi:framework#/definitions/Path
See also
Alt
Alternative text that is displayed if the image cannot or should not be loaded.
Schema: tchmi:general#/definitions/String
See also
HeightMode
Selection of the method of calculating the height. The available options are:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the top and bottom side. The Height attribute is
ignored in all calculations!
• Content: The height is calculated from the width while maintaining the aspect ratio of the image. If
Width Mode [} 339] and Height Mode are set to Content, the image is drawn in its original size.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeModeWithContent
See also
WidthMode
Selection of the method of calculating the width. The available options are:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the left and right side. The Width attribute is ignored in
all calculations!
• Content: The width is calculated from the height while maintaining the aspect ratio of the image. If
Width Mode and Height Mode [} 339] are set to Content, the image is drawn in its original size.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeModeWithContent
See also
OriginalHeight
Original height of the image file.
Schema: tchmi:general#/definitions/Number
See also
OriginalWidth
Original width of the image file.
Schema: tchmi:general#/definitions/Number
See also
5.10.2.16.2 Events
onError
The image was not loaded successfully.
onLoad
The image was loaded successfully.
5.10.2.17 Input
A single-line text input element.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
TextColor [} 347] Definition of the text color
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Text [} 349] Definition of the text
AutoFocusOut [} 348] Determines whether the control automatically loses
focus when the user confirms or ends his input by
pressing Enter or Escape.
AutoSelectText [} 349] Determines whether the entire text is automatically
selected when it is focused.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
TextFontFamily [} 346] Definition of the font using the name of the font family
or the keyword
TextFontSize [} 346] Definition of the font size
TextFontSizeUnit [} 346] Definition of the font size unit:
• Pixels for an absolute size
• Percent for a relative size
TextFontStyle [} 347] Selecting the font style:
• Normal
• Italic
• Oblique
TextFontWeight [} 347] Selecting the font weight of the text:
• Normal
• Bold
ContentPadding [} 348] Definition of the distance of the text to the border
TextHorizontalAlignment [} 348] Selecting the horizontal alignment of the text
Placeholder [} 348] Definition of the placeholder, which is displayed if no
text is entered.
Events
Category: Control
Name Description
onTextChanged [} 350] The text has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onUserInteractionFinished [} 350] The user has finished the interaction with the control.
onFocusIn [} 349] The control now has the focus.
onFocusOut [} 350] The control has lost focus.
onUserInteractionCanceled [} 350] The user has terminated the interaction with the
control element.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Input
See also
5.10.2.17.1 Attribute
TextFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
TextFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
TextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
TextHorizontalAlignment
Horizontal alignment of the text.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
ContentPadding
Defines the distance of the text to the border.
Schema: tchmi:framework#/definitions/Padding
See also
Placeholder
Placeholder which is displayed if no text is entered.
Schema: tchmi:general#/definitions/String
See also
AutoFocusOut
Determines whether the control automatically loses focus when the user confirms or ends his input by
pressing Enter or Escape.
Schema: tchmi:general#/definitions/Boolean
See also
AutoSelectText
Determines whether the Control automatically selects the entire text when it is focused.
Schema: tchmi:general#/definitions/Boolean
See also
Text
Content of the control.
Schema: tchmi:general#/definitions/String
See also
5.10.2.17.2 Events
onFocusIn
The control now has the focus.
onFocusOut
The control has lost focus.
onTextChanged
The text has been changed.
onUserInteractionFinished
The user has finished the interaction with the control.
onUserInteractionCanceled
The user has terminated the interaction with the control element.
5.10.2.18 Keyboard
A keyboard is an on-screen keyboard that can be used for input without a hardware keyboard.
From version 1.12 keyboard layouts are added to the TwinCAT HMI project via a wizard and can then be
used via the attribute LayoutFile [} 361].
The attribute Layout [} 361] is considered obsolete and should no longer be used.
Attributes
Category: Colors
Name Description
LabelColor [} 360] Definition of the text color of the keys
LabelStrokeColor [} 361] Definition of the outline color of the graphic key
characters
LabelFillColor [} 360] Definition of the fill color of the graphic key characters
KeyBackgroundColor [} 359] Definition of the background color of the keys
AdditionalKeyBackdropColor [} 357] Definition of the background color of the window in
which the additional characters for the compact
layouts are displayed
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
KeyboardPadding [} 360] Definition of the inner distance of the keypad to the
outer sides of the keyboard
AdditionalKeyBackdropPadding [} 357] Definition of the inner distance of the additional keys
to the outer sides of the window in which they are
displayed
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
LayoutFile [} 361] Activates a layout from the project.
Layout [} 361] Selection of the keyboard layout
ScaleMode [} 363] Selecting the scaling of the keys
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Behavior
Name Description
FixedTarget [} 358] Definition of a control using its name, to which all
input is sent regardless of the focus
The name of the control must be entered as a simple
string. The control must not be linked directly.
ReleaseStickyKeysManually [} 362] Selecting whether the Shift key must be deactivated
manually after it has been used together with another
key
LongpressDelay [} 362] Definition of the time in milliseconds that a key must
be pressed for a long keystroke to be detected.
RepetitionDelay [} 362] Definition of the time in milliseconds that a key must
be pressed for the input to be repeated.
PressedKeys [} 363]
Category: Labels
Name Description
LabelStrokeThickness [} 359] Definition of the stroke thickness of the graphic key
characters
LabelFontFamily [} 358] Definition of the font using the name of the font family
or the keyword
LabelFontSize [} 358] Definition of the font size of the key text
LabelFontSizeUnit [} 358] Selecting the unit of the text size:
• Pixels for an absolute size
• Percent for a relative size
LabelFontStyle [} 359] Selecting the font style:
• Normal
• Italic: italic
• Oblique: slanted
LabelFontWeight [} 359] Selecting the font weight:
• Normal
• Bold: bold
Events
Category: Control
Name Description
onKeyPressStarted [} 365] Interaction with a key was started.
onKeyPressFinished [} 365] Interaction with a key was finished.
onKeyPressCanceled [} 365] Interaction with a key was cancelled.
onKeyPressEnded [} 365] Interaction with a key was canceled or finished.
onIndirectInputAccepted [} 365] The user has confirmed the indirect entry.
onIndirectInputCanceled [} 365] The user has canceled the indirect input.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Keyboard
See also
5.10.2.18.1 Attributes
AdditionalKeyBackdropColor
The background color of the additional characters.
Schema: tchmi:framework#/definitions/Color
See also
AdditionalKeyBackdropPadding
Padding of the additional keys.
Schema: tchmi:framework#/definitions/Padding
See also
FixedTarget
The name of the control to which the characters are sent, regardless of the focus.
Schema: tchmi:general#/definitions/String
See also
LabelFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
LabelFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
LabelFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
LabelFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
LabelFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
LabelStrokeThickness
Definition of the stroke thickness of the graphic key characters
Schema: tchmi:general#/definitions/Number
See also
KeyBackgroundColor
The background color of the keys.
Schema: tchmi:framework#/definitions/Color
See also
KeyPadding
Padding in the individual keys.
Schema: tchmi:framework#/definitions/Padding
See also
KeyboardPadding
Padding of the whole keyboard.
Schema: tchmi:framework#/definitions/Padding
See also
LabelColor
The color of the texts.
Schema: tchmi:framework#/definitions/SolidColor
See also
LabelFillColor
Definition of the fill color of the graphic key characters
Schema: tchmi:framework#/definitions/Color
See also
LabelStrokeColor
Definition of the outline color of the graphic key characters.
Schema: tchmi:framework#/definitions/SolidColor
See also
LayoutFile
Activates a layout from the project. Overwrites the setting in the Layout [} 361] attribute.
See also
Layout
Defines the layout of the keyboard. Can be overwritten using the attribute LayoutFile [} 361].
• EN_US-QWERTY_standard: American layout
• EN_US-QWERTY_full: American layout with numpad
• EN_US-QWERTY_compact: Compact American layout
• DE_DE-QWERTZ_standard: German layout
• DE_DE-QWERTZ_full: German layout with numpad
• DE_DE-QWERTZ_compact: Compact German layout
• PINpad: Layout of a PIN entry
• Numpad: Layout of a numpad
• Calculator: Layout of a calculator
Schema: tchmi:framework#/definitions/ControlKeyboardLayouts
See also
This attribute is considered obsolete. Please use the attribute LayoutFile [} 361] instead.
LongpressDelay
Definition of the time in milliseconds that a key must be pressed in order for a long keystroke to be detected
and a window with the additional keys to be displayed. This function is only available in the '_compact'
layouts and for certain keys.
Schema: tchmi:general#/definitions/Number
See also
ReleaseStickyKeysManually
Selecting whether the Shift key must be deactivated manually after it has been used together with another
key.
Schema: tchmi:general#/definitions/Boolean
See also
RepetitionDelay
Definition of the time in milliseconds that a key must be pressed for the input to be repeated. This function is
only available for certain keys, e.g. the Delete key.
Schema: tchmi:general#/definitions/Number
See also
ScaleMode
Selecting the scaling of the keys:
• None: No scaling of the keys
• ScaleToFill: The entire control is completely filled in. The proportions of the keys are not taken into
account.
• ScaleToFit: The keys are displayed as large as possible without exceeding the edges of the control.
The proportions of the keys are maintained.
• ScaleToFitWidth: The keys are displayed across the entire width of the control, regardless of whether
they exceed the limits of the control.
The proportions of the keys are maintained.
• ScaletoFitHeight: The keys are displayed across the entire height of the control, regardless of whether
they exceed the limits of the control.
The proportions of the keys are maintained.
Schema: tchmi:framework#/definitions/ScaleMode
See also
PressedKeys
Schema (Note: version 1.8): tchmi:framework#/definitions/KeyList
See also
IndirectInputHorizontalAlignment
Defines the horizontal alignment of the text in the preview field for indirect input.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
IndirectInputFontSize
Defines the font size of the text in the preview field for indirect input.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
IndirectInputFontSizeUnit
Defines the font size unit of the text in the preview field for indirect input.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
IndirectInputPadding
Defines the padding of the text in the preview field for indirect input.
Schema: tchmi:framework#/definitions/Padding
See also
5.10.2.18.2 Events
onKeyPressStarted
The user has pressed any key on the keyboard.
onKeyPressCanceled
The user has canceled the interaction with any key on the keyboard. This can be triggered, for example, by
moving to the side.
onKeyPressFinished
The user has completed the interaction with any key on the keyboard. In other words, the user has released
a key that was previously pressed.
onKeyPressEnded
The user has canceled or finished the interaction with any key on the keyboard.
onIndirectInputAccepted
The user has confirmed the indirect entry.
onIndirectInputCanceled
The user has canceled the indirect input.
5.10.2.19 Line
A line object.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
X1 [} 373] Definition of the x-axis coordinate of the starting point
of the line
X1Unit [} 373] Selecting the unit of the x-axis coordinate of the
starting point:
• Pixels for absolute positioning
X2 [} 374] Definition of the x-axis coordinate of the end point of
the line
X2Unit [} 374] Selecting the unit of the x-axis coordinate of the end
point:
• Pixels for absolute positioning
Y1 [} 374] Definition of the y-axis coordinate of the starting point
of the line
Y1Unit [} 374] Selecting the unit of the y-axis coordinate of the
starting point:
• Pixels for absolute positioning
Y2 [} 375] Definition of the y-axis coordinate of the end point of
the line
Y2Unit [} 375] Selecting the unit of the y-axis coordinate of the end
point:
• Pixels for absolute positioning
ScaleMode [} 372] Selecting the scaling of the line:
• None: No scaling of the line
• ScaleToFill: The line is displayed on the entire size
of the control. The proportions of the line are not
taken into account.
• ScaleToFit: The line is displayed as large as
possible without exceeding the edges of the
control.
The proportions of the line are maintained.
• ScaleToFitWidth: The line is displayed over the
entire width of the control, regardless of whether it
exceeds the limits of the control.
The proportions of the line are maintained.
• ScaleToFitHeight: The line is displayed over the
entire height of the control, regardless of whether it
exceeds the limits of the control.
The proportions of the line are maintained.
StrokeColor [} 372] Definition of the line color
StrokeStyle [} 372] Line style definition – comma and space separated
list of numbers, which specify the length of the line
and distances.
Example: 10, 5, 20, 30 corresponds to a sequence of
line length 10, distance 5, line length 20, distance 30.
This sequence is repeated over the entire length of
the line.
If an odd number is specified, the list is repeated
once.
Example: 20, 5, 10 becomes 20, 5, 10, 20, 5, 10
StrokeThickness [} 373] Definition of the line width
StrokeThicknessUnit [} 373] Selecting the unit of the line width:
• Pixels for an absolute width
IsEnabled [} 696] Selection of whether a control should be activated
Name Description
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Shape
Name Description
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Line
See also
5.10.2.19.1 Attributes
ScaleMode
Scales the content to the control size.
Schema: tchmi:framework#/definitions/ScaleMode
See also
StrokeColor
Defines the stroke color of the control.
Schema: tchmi:framework#/definitions/SolidColor
See also
StrokeStyle
Definition of the stroke style. Comma or space-separated list of numbers that specify the length of strokes
and spaces. If an odd number is specified, the list is repeated once. Example: "5, 3, 2" is equivalent to "5, 3,
2, 5, 3, 2".
Schema: tchmi:general#/definitions/String
See also
StrokeThickness
Defines the stroke thickness of the control in pixels.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
StrokeThicknessUnit
Pixel unit. At this point, only pixels can be used as a unit.
Schema: tchmi:framework#/definitions/PixelUnit
See also
X1
x-coordinate of the first point.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
X1Unit
Pixel unit. At this point, only pixels can be used as a unit.
Schema: tchmi:framework#/definitions/PixelUnit
See also
X2
x-coordinate of the second point.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
X2Unit
Pixel unit. At this point, only pixels can be used as a unit.
Schema: tchmi:framework#/definitions/PixelUnit
See also
Y1
y-coordinate of the first point.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
Y1Unit
Pixel unit. At this point, only pixels can be used as a unit.
Schema: tchmi:framework#/definitions/PixelUnit
See also
Y2
y-coordinate of the second point.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
Y2Unit
Pixel unit. At this point, only pixels can be used as a unit.
Schema: tchmi:framework#/definitions/PixelUnit
See also
Attributes
Category: Colors
Name Description
XAxisColor [} 392] Definition of the color of the x-axis
GridBackgroundColor [} 385] Definition of the background color of the coordinate
system
GridLineColor [} 385] Definition of the color of the coordinate grid
SubgridLineColor [} 388] Definition of the color of the coordinate subgrid
SectionsBackgroundColor [} 386] Definition of the background color of the control
XLabelFontColor [} 395] Definition of the font color of the x-axis labels
XAxisNameFontColor [} 393] Definition of the font color of the x-axis name
TooltipFontColor [} 390] Definition of the font color of the tooltip
TooltipBackgroundColor [} 389] Definition of the background color of the tooltip
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
LineGraphData [} 386] Definition of the data to be displayed as graph(s)
LineGraphDescriptions [} 386] Definition of graph descriptions for each of the graphs
defined by the array
ShowLegend [} 399] Selecting whether the legend is to be displayed
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: XAxis
Name Description
ShowXAxis [} 387] Selecting whether the x-axis is to be displayed
ShowXAxisLabels [} 397] Selecting whether the x-axis labels are to be
displayed
ShowXAxisName [} 387] Selecting whether the x-axis name is to be displayed
ShowXSubTicks [} 388] Selecting whether the subcoordinate points are to be
displayed on the x-axis
XAxisAutoScaling [} 391] Selecting whether the x-axis should be automatically
scaled according to the data sets. 'Maintick Min
Value', 'Maintick Max Value' and 'X-Axis Maintick
Steps' need not be set.
XAxisDecimalPlaces [} 392] Definition of the decimal places displayed for the x-
axis
XAxisName [} 393] Definition of the x-axis name
XAxisNameFontFamily [} 393] Definition of the font using the name of the font family
or the keyword
XAxisNameFontSize [} 394] Definition of the font size of the x-axis name
XAxisNameFontSizeUnit [} 394] Selecting the unit of the font size of the x-axis name:
• Pixels for an absolute size
• Percent for a relative size
XAxisNameFontWeight [} 394] Selecting of the font weight of the x-axis name:
• Normal
• Bold: bold
XAxisUnit [} 394] Definition of the unit of the x-axis
XAxisWidth [} 395] Definition of the x-axis width
XLabelFontFamily [} 395] Definition of the font using the name of the font family
or the keyword
XLabelFontSize [} 395] Definition of the font size for the x-axis labels
XLabelFontSizeUnit [} 396] Selecting the font size unit for the x-axis labels:
• Pixels for an absolute size
• Percent for a relative size
XLabelFontWeight [} 396] Selecting the font weight of the x-axis labels:
• Normal
• Bold: bold
XMainTickMaxValue [} 396] Definition of the maximum value of the x-axis main
subdivision
XMainTickMinValue [} 396] Definition of the minimum value of the x-axis main
subdivision
XMainTickSteps [} 397] Definition of the step size of the x-axis main
subdivision
XSubTickSteps [} 397] Definition of the step size of the x-axis subdivision
XAxisFormat [} 392] Definition of the formatting of the x-axis labels
Category: Grid
Name Description
ShowGrid [} 387] Selecting whether the coordinate grid is to be
displayed
GridLineWidth [} 385] Definition of the line width of the coordinate grid
GridLineStyle [} 385] Definition of the line style of the coordinate grid
GridShowHorizontalLines [} 386] Selecting whether the horizontal lines of the
coordinate grid are to be displayed
GridShowVerticalLines [} 386] Selecting whether the vertical lines of the coordinate
grid are to be displayed
Category: YAxis
Name Description
YAxis [} 397] Definition of one or more y-axes
ShowYSubTicks [} 388] Selecting whether the subcoordinate points are to be
displayed on the y-axis
YAxisWidth [} 397] Definition of the y-axis width
YLabelFontFamily [} 398] Definition of the font using the name of the font family
or the keyword
YLabelFontSize [} 398] Definition of the font size for the y-axis labels
YLabelFontSizeUnit [} 398] Selecting the font size unit for the y-axis labels:
• Pixels for an absolute size
• Percent for a relative size
YLabelFontWeight [} 398] Selecting the font weight of the y-axis labels:
• Normal
• Bold: bold
YMainTickSteps [} 399] Definition of the step size of the y-axis main
subdivision
YSubTickSteps [} 399] Definition of the step size of the y-axis subdivision
Category: Subgrid
Name Description
SubgridLineWidth [} 388] Definition of the line width of the coordinate subgrid
SubGridLineStyle [} 389] Definition of the line style of the subgrid
SubgridShowHorizontalLines [} 389] Selecting whether the horizontal lines of the
coordinate subgrid are to be displayed
SubgridShowVerticalLines [} 389] Selecting whether the vertical lines of the coordinate
subgrid are to be displayed
ShowTooltip [} 652] Selecting whether the tooltips are to be displayed
TooltipFormat [} 657] • Definition of the formatting of the tooltips.
TooltipFontFamily [} 656] Definition of the font using the name of the font family
or the keyword
TooltipFontSize [} 656] Definition of the font size
TooltipFontWeight [} 657] Selecting the font weight:
• Normal
• Bold: Bold
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Line Chart
See also
5.10.2.20.1 Configuration
A LineChart can be configured as follows:
1. Define the y-axes of the coordinate system using the"YAxis Definitions [} 384]" dialog
2. Link the array containing the data points to the attribute "Line Graph Data" of the category "Common".
The array must have two dimensions. This also applies if only one graph is stored in this array. In
the latter case the array should be declared as array[1..1, 1..100] OF ST_Point.
The structure elements must be named identically to the attributes defined on the TwinCAT HMI
side. Upper and lower case is taken into account.
3. Add a graph description for each of the graphs contained in the array to the "Line Graph Descriptions"
attribute of the "Common" category using the "LineGraphDescription Definition [} 383]" editor.
5.10.2.20.2 Dialogs
5.10.2.20.3 Attributes
GridBackgroundColor
Schema: tchmi:framework#/definitions/SolidColor
See also
GridLineColor
Schema: tchmi:framework#/definitions/SolidColor
See also
GridLineWidth
Schema: tchmi:general#/definitions/Number
See also
GridLineStyle
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.ChartLineStyle
See also
GridShowHorizontalLines
Schema: tchmi:general#/definitions/Boolean
See also
GridShowVerticalLines
Schema: tchmi:general#/definitions/Boolean
See also
LineGraphData
Schema: tchmi:framework#/definitions/ChartLineGraphDataDefinitionList
See also
LineGraphDescriptions
Schema: tchmi:framework#/definitions/ChartLineGraphDescriptionDefinitionList
See also
SectionsBackgroundColor
Schema: tchmi:framework#/definitions/SolidColor
See also
ShowGrid
Schema: tchmi:general#/definitions/Boolean
See also
ShowTooltip
Selecting whether the tooltips should be displayed in stop mode.
Schema: tchmi:general#/definitions/Boolean
See also
ShowXAxis
Schema: tchmi:general#/definitions/Boolean
See also
ShowXAxisName
Schema: tchmi:general#/definitions/Boolean
See also
ShowXSubTicks
Schema: tchmi:general#/definitions/Boolean
See also
ShowYSubTicks
Schema: tchmi:general#/definitions/Boolean
See also
SubgridLineColor
Schema: tchmi:framework#/definitions/SolidColor
See also
SubgridLineWidth
Schema: tchmi:general#/definitions/Number
See also
SubGridLineStyle
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.ChartLineStyle
See also
SubgridShowHorizontalLines
Schema: tchmi:general#/definitions/Boolean
See also
SubgridShowVerticalLines
Schema: tchmi:general#/definitions/Boolean
See also
TooltipBackgroundColor
Definition of the background color of the coordinate system.
Schema: tchmi:framework#/definitions/Color
See also
TooltipFontColor
Definition of the font color of the tooltip.
Schema: tchmi:framework#/definitions/SolidColor
See also
TooltipFontFamily
Definition of the font using the name of the font family or the keyword.
Schema: tchmi:framework#/definitions/FontFamily
See also
TooltipFontSize
Definition of the font size.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TooltipFontSizeUnit
Selecting the unit of the font size in the tooltips (pixel or percent).
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TooltipFontWeight
Selecting the font weight for the tooltips (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
TooltipFormat
Schema: tchmi:framework#/definitions/Function
A function must fulfill the following signature in order to be offered in the engineering. The parameters
mentioned here are set by the control. Further parameters are possible and can be specified per instance in
the engineering.
[ Function ]
TooltipFormat(valueX: number, valueY: number): string;
Parameter
Name Type Description
valueX number The numerical value for the x-
coordinate.
valueY number The numerical value for the y-
coordinate.
Return value
Type Description
string The tooltip to be displayed. HTML is allowed here.
See also
XAxisAutoScaling
Schema: tchmi:general#/definitions/Boolean
See also
XAxisColor
Schema: tchmi:framework#/definitions/SolidColor
See also
XAxisDecimalPlaces
Schema: tchmi:general#/definitions/Number
See also
XAxisFormat
Schema: tchmi:framework#/definitions/Function
The selected function defines the X-axis labels. It is called for each displayed value of the main X-axis
subdivision. It is assigned the respective numerical value.
A function must fulfill the following signature in order to be offered in the engineering. The parameters
mentioned here are set by the control. Further parameters are possible and can be specified per instance in
the engineering.
[ Function ]
XAxisFormat(value: number): string;
Parameter
Name Type Description
value number The current numerical value of the
x-axis.
Return value
Type Description
string The new value of the main X-axis subdivision. HTML
is not allowed here.
See also
XAxisName
Schema: tchmi:general#/definitions/String
See also
XAxisNameFontColor
Schema: tchmi:framework#/definitions/SolidColor
See also
XAxisNameFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
XAxisNameFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
XAxisNameFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
XAxisNameFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
XAxisUnit
Schema: tchmi:general#/definitions/String
See also
XAxisWidth
Schema: tchmi:general#/definitions/Number
See also
XLabelFontColor
Schema: tchmi:framework#/definitions/SolidColor
See also
XLabelFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
XLabelFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
XLabelFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
XLabelFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
XMainTickMaxValue
Schema: tchmi:general#/definitions/Number
See also
XMainTickMinValue
Schema: tchmi:general#/definitions/Number
See also
XMainTickSteps
Schema: tchmi:general#/definitions/Number
See also
XShowLabels
Schema: tchmi:general#/definitions/Boolean
See also
XSubTickSteps
Schema: tchmi:general#/definitions/Number
See also
YAxis
Schema: tchmi:framework#/definitions/ChartYAxisDefinitionList
See also
YAxisWidth
Schema: tchmi:general#/definitions/Number
See also
YLabelFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
YLabelFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
YLabelFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
YLabelFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
YMainTickSteps
Schema: tchmi:general#/definitions/Number
See also
YSubTickSteps
Schema: tchmi:general#/definitions/Number
See also
ShowLegend
Schema: tchmi:general#/definitions/Boolean
See also
Attributes
Category: Colors
Name Description
ProgressBackgroundColor [} 413] Definition of the background color of the bar
ProgressForegroundColor [} 413] Definition of the bar color
ValueColor [} 418] Definition of the text color of the display of the current
value
UnitColor [} 416] Definition of the unit color
TickColor [} 415] Definition of the color of the bar division
LabelColor [} 409] Definition of the text color of the scaling values
Knob Color [} 409] Definition of the fill color of the slider
KnobArrowsColor [} 409] Definition of the outline and arrow color of the slider
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Orientation [} 412] Selecting the orientation:
• Horizontal: The linear display with the scaling is
aligned horizontally.
• Vertical: The linear display with the scaling is
aligned vertically.
Padding [} 413] Definition of an additional distance between the
control border and the bar for the four sides
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
Name Description
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
Name Description
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Value [} 417] Definition of the value to be displayed
Editable [} 408] Selecting whether the slider should be displayed and
therefore whether the linear gauge is editable
BaseAnimationTime [} 408] Definition of the base animation time in milliseconds.
It describes the time of the animation from minimum
to maximum value.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Value
Name Description
MinValue [} 412] Defines the smallest value that the control element
should graphically display
MaxValue [} 412] Defines the largest value that the control element
should graphically display
Step [} 415] Definition of the increment for changing the value via
the slider
ShowValueText [} 414] Selecting whether the current value is to be displayed
Range [} 414] Definition of the value range of the color scales
StartFromZero [} 415] Selecting whether the minimum value should be zero
regardless of the 'Minimum Value' attribute. This
setting has no effect if the set minimum value is equal
to or greater than zero.
ValueFontFamily [} 418] Definition of the font using the name of the font family
or the keyword
ValueFontSize [} 418] Definition of the font size
ValueFontSizeUnit [} 418] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
ValueFontStyle [} 419] Selecting the font style:
• Normal
• Italic: italic
• Oblique: slanted
ValueFontWeight [} 419] Selecting the font weight:
• Normal
• Bold: bold
ValueFormat [} 419] Definition of a formatting function for the value
ClickAnywheretoEdit [} 408] Selecting whether the value can be changed by
clicking anywhere in the control
Category: Labels
Name Description
ShowLabels [} 414] Selecting whether the scaling values are to be
displayed
Label Range [} 412] Definition of the jump distance between the individual
scaling values
Label Position [} 411] Selecting the position of the scaling to the bar:
The following options are available for horizontal
alignment:
• Top
• Bottom
The following options are available for vertical
alignment:
• Left
• Right
LabelFontFamily [} 409] Definition of the font using the name of the font family
or the keyword
LabelFontSize [} 410] Definition of the font size of the scaling
LabelFontSizeUnit [} 410] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
LabelFontStyle [} 410] Selecting the font style of the scaling:
• Normal
• Italic: italic
• Oblique: slanted
LabelFontWeight [} 410] Selecting the font weight of the scaling:
• Normal
• Bold: bold
LabelFormat [} 411] Definition of a formatting function for the scaling
Category: Ticks
Name Description
ShowTicks [} 414] Selecting whether the scaling subdivision is to be
displayed
TickDefinition [} 415] Definition of scale division
Category: Unit
Name Description
Unit [} 408] Definition of the unit or description of the value
UnitOrientation [} 413] Selecting the unit orientation:
• Theme
• Horizontal
• Vertical
UnitFontSize [} 416] Definition of the font size of the unit
UnitFontSizeUnit [} 416] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
UnitFontStyle [} 417] Selecting the font style of the unit:
• Normal
• Italic: italic
• Oblique: slanted
UnitFontWeight [} 417] Selecting the font weight of the unit:
• Normal
• Bold: bold
Events
Category: Control
Name Description
onValueChanged [} 421] The value has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onUserInteractionFinished [} 421] The user has finished the interaction with the control.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Linear Gauge
See also
5.10.2.21.1 Attributes
BaseAnimationTime
The base animation time in milliseconds. It describes the time of the animation from minimum to maximum
value.
Schema: tchmi:general#/definitions/UDINT
See also
ClickAnywhereToEdit
Click anywhere in the control to change the value.
Schema: tchmi:general#/definitions/Boolean
See also
Unit
The unit or description of the display value.
Schema: tchmi:general#/definitions/String
See also
Editable
Determines whether the slider should be displayed.
The appearance of the slider can be changed via Themed Resource [} 421] of the control.
Schema: tchmi:general#/definitions/Boolean
See also
KnobArrowsColor
Outline and arrow color of the slider.
Schema: tchmi:framework#/definitions/SolidColor
See also
KnobColor
Fill color of the slider.
Schema: tchmi:framework#/definitions/Color
See also
LabelColor
The color of the texts for the scale divisions.
Schema: tchmi:framework#/definitions/SolidColor
See also
LabelFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:general#/definitions/String
See also
LabelFontSize
The font size.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
LabelFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
LabelFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
LabelFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
LabelFormat
Schema: tchmi:framework#/definitions/Function
A function must fulfill the following signature in order to be offered in the engineering. The parameters
mentioned here are set by the control. Further parameters are possible and can be specified per instance in
the engineering.
[ Function ]
LabelFormat(value: number): string;
Parameter
Name Type Description
value number The numerical value for the label.
Return value
Type Description
string The text to be displayed. HTML is not allowed here.
See also
Attribute setter:setLabelFormat
LabelPosition
The position of the label texts and scale division relative to the display.
Schema: tchmi:framework#/definitions/LinearGaugeLabelPosition
See also
LabelRange
The value range between the label texts.
Schema: tchmi:general#/definitions/Number
See also
MaxValue
The largest value that the control should display graphically.
Schema: tchmi:general#/definitions/Number
See also
MinValue
The smallest value that the control should display graphically.
Schema: tchmi:general#/definitions/Number
See also
Orientation
The orientation of the display. Horizontal and vertical orientation are supported.
Schema: tchmi:framework#/definitions/LinearGaugeOrientation
See also
UnitOrientatin
The orientation of unit.
Schema: tchmi:framework#/definitions/LinearGaugeUnitOrientation
See also
Padding
Schema: tchmi:framework#/definitions/Padding
See also
ProgressBackgroundColor
The color to the right of the value.
Schema: tchmi:framework#/definitions/Color
See also
ProgressForegroundColor
The color to the left of the value.
Schema: tchmi:framework#/definitions/Color
See also
Range
The value range of the color scales.
Schema: tchmi:framework#/definitions/GaugeRangeDefinitionList
See also
ShowLabels
Label texts are either displayed or not.
Schema: tchmi:general#/definitions/Boolean
See also
ShowTicks
Defines whether main axis markers are to be drawn.
Schema: tchmi:general#/definitions/Boolean
See also
ShowValueText
Either displays the value or not.
Schema: tchmi:general#/definitions/Boolean
See also
StartFromZero
Starts from zero or at the minimum value. This has no effect if the minimum value is equal to or greater than
zero.
Schema: tchmi:general#/definitions/Boolean
See also
Step
Defines the increment with which the value can be incremented/decremented.
Schema: tchmi:framework#/definitions/PositiveNumber
See also
TickColor
Schema: tchmi:framework#/definitions/Color
See also
TickDefinition
Describes the scale divisions.
Schema: tchmi:framework#/definitions/GaugeTickDefinition
See also
UnitColor
Schema: tchmi:framework#/definitions/SolidColor
See also
UnitFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:general#/definitions/String
See also
UnitFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
UnitFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
UnitFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
UnitFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
Value
The value of the display.
Schema: tchmi:general#/definitions/Number
See also
ValueColor
The color of the display value.
Schema: tchmi:framework#/definitions/SolidColor
See also
ValueFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:general#/definitions/String
See also
ValueFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
ValueFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
ValueFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
ValueFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
ValueFormat
Schema: tchmi:framework#/definitions/Function
A function must fulfill the following signature in order to be offered in the engineering. The parameters
mentioned here are set by the control. Further parameters are possible and can be specified per instance in
the engineering.
[ Function ]
ValueFormat(value: number): string;
Parameter
Name Type Description
value number The current numerical value.
Return value
Type Description
string The text to be displayed. HTML is not allowed here.
See also
SetPoint
The setpoint of the display.
Schema: tchmi:general#/definitions/Number
See also
ValueSpace
The size of the displayed value.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
ValueSpaceUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
SetPointMarkerColor
Color of the setpoint marker.
Schema: tchmi:framework#/definitions/SolidColor
See also
5.10.2.21.2 Events
onUserInteractionFinished
The user has finished the interaction [} 408] with the control.
onValueChanged
The value [} 417] has been changed.
KnobConfigHorizontal
A different graphic can be selected for the display of the slider.
This definition only applies to gauges that are horizontally aligned via the attribute Orientation [} 412]. If the
control is positioned vertically, the resource KnobConfigVertical [} 422] is used.
The path of the image file and the display size of the image must be specified. Furthermore, the offset of the
"anchor point" can be defined. This allows the image to be positioned correctly with respect to the value bar.
Note that an SVG file opens its own viewport and therefore the aspect ratio cannot normally be changed.
Partially transparent images in PNG and SVG format are also supported. For pixel graphics (PNG, JPG)
please note that the attributes KnobColor [} 409] and KnobArrowsColor [} 409] have no effect. If an SVG is
used, the color definition can take effect if the SVG is prepared accordingly.
Example SVG
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="40" height="40">
<defs>{KnobColorGradientDefinition}</defs>
<circle r="18px" cx="20px" cy="20px"
style="stroke-width:3px;{KnobColorFill}{KnobArrowsColorStroke}"></circle>
<path d="M 18 11 L 16 11 L 7 20 L 16 29 L 18 29 L 18 27 L 11 20 L 18 13 Z"
style="stroke:none;{KnobArrowsColorFill}"></path>
<path d="M 22 13 L 24 11 L 33 20 L 24 29 L 22 29 L 22 27 L 29 20 L 22 13 Z"
style="stroke:none;{KnobArrowsColorFill}"></path>
</svg>
Schema: tchmi:framework#/definitions/KnobDefinition
KnobConfigVertical
A different graphic can be selected for the display of the slider.
This definition only applies to gauges that are vertically aligned via the attribute Orientation [} 412]. If the
control is positioned horizontally, the resource KnobConfigHorizontal [} 421] is used.
The path of the image file and the display size of the image must be specified. Furthermore, the offset of the
"anchor point" can be defined. This allows the image to be positioned correctly with respect to the value bar.
Note that an SVG file opens its own viewport and therefore the aspect ratio cannot normally be changed.
Partially transparent images in PNG and SVG format are also supported. For pixel graphics (PNG, JPG)
please note that the attributes KnobColor [} 409] and KnobArrowsColor [} 409] have no effect. If an SVG is
used, the color definition can take effect if the SVG is prepared accordingly.
Example SVG
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="40" height="40">
<defs>{KnobColorGradientDefinition}</defs>
<circle r="18px" cx="20px" cy="20px"
style="stroke-width:3px;{KnobColorFill}{KnobArrowsColorStroke}"></circle>
<path d="M 18 11 L 16 11 L 7 20 L 16 29 L 18 29 L 18 27 L 11 20 L 18 13 Z"
style="stroke:none;{KnobArrowsColorFill}"></path>
<path d="M 22 13 L 24 11 L 33 20 L 24 29 L 22 29 L 22 27 L 29 20 L 22 13 Z"
style="stroke:none;{KnobArrowsColorFill}"></path>
</svg>
Schema: tchmi:framework#/definitions/KnobDefinition
Attributes
Category: Colors
Name Description
TextColor [} 435] Definition of the text color
DropDownTextColor [} 432] Definition of the text color in the drop-down list
DropDownBackgroundColor [} 429] Definition of the background color of the drop-down
list
DropDownHighlightColor [} 431] Definition of the highlight color of the background of a
selected entry in the drop-down list
DropDownHighlightTextColor [} 431] Definition of the highlight color of the text of a
selected entry in the drop-down list
DropDownToggleButtonBackgroundColor [} 432] Definition of the color of the button to expand the
drop-down list
DropDownToggleButtonArrowColor [} 432] Definition of the color of the arrow of the button to
expand the drop-down list
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
LocalizationMapping [} 436] Changes the designation for each localization
identifier.
A simple list of options can be compiled in the
Engineering. Each option consists of these
components:
▪ Code: Localization identifier (e.g.: de-DE)
▪ Text: Display text
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
TextFontFamily [} 433] Definition of the font using the name of the font family
or the keyword
TextFontSize [} 434] Definition of the font size
TextFontSizeUnit [} 434] Selecting the font size unit
• Pixels for an absolute size
• Percent for a relative size
TextFontStyle [} 434] Selecting the font style:
• Normal
• Italic
• Oblique
TextFontWeight [} 435] Selecting the font weight
• Normal
• Bold
TextHorizontalAlignment [} 435] Selecting the horizontal alignment of the text
ContentPadding [} 436] Definition of the distance of the text to the border
Category: DropDown
Name Description
DropDownHorizontalAlignment [} 431] Selecting the horizontal alignment of the text in the
drop-down list
DropDownVerticalAlignment [} 433] Selecting the vertical alignment of the text in the
drop-down list
DataHeight [} 429] Definition of the height of the entries in the drop-down
menu
MaxListHeight [} 435] Definition of the maximum height of the drop-down
list
DropDownFontFamily [} 429] Definition of the font of the list items via the name of
the font family or the keyword
DropDownFontSize [} 430] Definition of the font size of the list items
DropDownFontSizeUnit [} 430] Selecting the font size unit
• Pixels for an absolute size
• Percent for a relative size
DropDownFontStyle [} 430] Selecting the font style:
• Normal
• Italic
• Oblique
DropDownFontWeight [} 431] Selecting the font weight of the text entries:
• Normal
• Bold
DropDownStyle [} 433] Defines the position of the drop-down menu
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
LocalizationSelect
See also
5.10.2.22.1 Attributes
DataHeight
Schema: tchmi:framework#/definitions/MeasurementValue
See also
DropDownBackgroundColor
Schema: tchmi:framework#/definitions/Color
See also
DropDownFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
DropDownFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
DropDownFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
DropDownFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
DropDownFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
DropDownHighlightColor
Schema: tchmi:framework#/definitions/SolidColor
See also
DropDownHighlightTextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
DropDownHorizontalAlignment
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
DropDownTextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
DropDownToggleButtonArrowColor
Schema: tchmi:framework#/definitions/SolidColor
See also
DropDownToggleButtonBackgroundColor
Schema: tchmi:framework#/definitions/Color
See also
DropDownVerticalAlignment
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
DropDownStyle
Defines the position of the drop-down menu.
• "Desktop" is the classic representation at the position of the control.
• "Mobile" is the representation in the middle of an overlay in the screen, which is separated from the
background.
See also
TextFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
TextFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
TextHorizontalAlignment
Horizontal alignment of the text.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
MaxListHeight
Defines the height of the combo box.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
ContentPadding
Defines the distance of the text to the border.
Schema: tchmi:framework#/definitions/Padding
See also
LocalizationMapping
Changes the designation for each localization identifier.
A simple list of options can be compiled in the Engineering. Each option consists of these components:
• Code: Localization identifier (e.g.: de-DE)
• Text: Display text
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiLocalizationSelect.ListItemList
See also
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
ValueColor [} 443] Definition of the text color
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Value [} 443] Definition of the value
MinValue [} 444] Definition of the minimum value
MaxValue [} 444] Definition of the maximum value
DecimalDigits [} 444] Number of decimal places
AutoFocusOut [} 447] Determines whether the control automatically loses
focus when the user confirms or ends his input by
pressing Enter or Escape.
AutoSelectText [} 447] Determines whether the entire text is automatically
selected when it is focused.
ResetToLastValidValue [} 448] Determines whether the value is reset to the last valid
value when focus is lost.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Name Description
BackgroundImage [} 705] Definition of an image that is located above the
background color
BackgroundImageHeight [} 706] Definition of the height of the background image
BackgroundImageHeightUnit [} 706] Selection of the unit of the height of the background
image:
• Pixels for an absolute height
• Percent for a relative height
BackgroundImageWidth [} 705] Definition of the width of the background image
BackgroundImageWidthUnit [} 705] Selection of the unit of the width of the background
image:
• Pixels for an absolute width
• Percent for a relative width
BackgroundImagePadding [} 706] Definition of an additional distance between the
border of the control and background image for the
four sides
BackgroundImageVerticalAlignment [} 707] Definition of the vertical alignment of the background
image within the control
BackgroundImageHorizontalAlignment [} 706] Definition of the horizontal alignment of the
background image within the control
Category: Value
Name Description
ValueFontFamily [} 445] Definition of the font using the name of the font family
or the keyword
ValueFontSize [} 445] Definition of the font size
ValueFontSizeUnit [} 445] Definition of the font size unit:
• Pixels for an absolute size
• Percent for a relative size
ValueFontStyle [} 445] Selecting the font style:
• Normal
• Italic
• Oblique
ValueFontWeight [} 446] Selecting the font weight of the text:
• Normal
• Bold
ContentPadding [} 446] Definition of the distance of the text to the border
ValueHorizontalAlignment [} 446] Selecting the horizontal alignment of the text
Placeholder [} 447] Definition of the placeholder, which is displayed if no
value is entered.
Events
Category: Control
Name Description
onValueChanged [} 448] The value has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onUserInteractionFinished [} 449] The user has finished the interaction with the control.
onFocusIn [} 448] The control now has the focus.
onFocusOut [} 448] The control has lost focus.
onUserInteractionCanceled [} 449] The user has terminated the interaction with the
control element.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
NumericInput
See also
5.10.2.23.1 Attribute
ValueColor
Color of the value.
Schema: tchmi:framework#/definitions/SolidColor
See also
Value
Value of the control.
Schema: tchmi:general#/definitions/Number
See also
MinValue
Minimum value of the control.
Schema: tchmi:general#/definitions/Number
See also
MaxValue
Maximum value of the control.
Schema: tchmi:general#/definitions/Number
See also
DecimalDigits
The decimal places of the value.
Schema: tchmi:general#/definitions/Number
See also
ValueFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
ValueFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
ValueFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
ValueFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
ValueFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
ValueHorizontalAlignment
Horizontal alignment of the text.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
ContentPadding
Defines the distance of the text to the border.
Schema: tchmi:framework#/definitions/Padding
See also
Placeholder
Placeholder which is displayed if no text is entered.
Schema: tchmi:general#/definitions/String
See also
AutoFocusOut
Determines whether the control automatically loses focus when the user confirms or ends his input by
pressing Enter or Escape.
Schema: tchmi:general#/definitions/Boolean
See also
AutoSelectText
Determines whether the Control automatically selects the entire text when it is focused.
Schema: tchmi:general#/definitions/Boolean
See also
ResetToLastValidValue
Determines whether the value is reset to the last valid value when focus is lost.
Schema: tchmi:general#/definitions/Boolean
See also
5.10.2.23.2 Events
onFocusIn
The control now has the focus.
onFocusOut
The control has lost focus.
onValueChanged
The value has been changed.
onUserInteractionFinished
The user has finished the interaction with the control.
onUserInteractionCanceled
The user has terminated the interaction with the control element.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
TextColor [} 347] Definition of the text color
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Text [} 349] Definition of the text
AutoFocusOut [} 348] Determines whether the control automatically loses
focus when the user confirms or ends his input by
pressing Enter or Escape.
AutoSelectText [} 349] Determines whether the entire text is automatically
selected when it is focused.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
TextFontFamily [} 346] Definition of the font using the name of the font family
or the keyword
TextFontSize [} 346] Definition of the font size
TextFontSizeUnit [} 346] Definition of the font size unit:
• Pixels for an absolute size
• Percent for a relative size
TextFontStyle [} 347] Selecting the font style:
• Normal
• Italic
• Oblique
TextFontWeight [} 347] Selecting the font weight of the text:
• Normal
• Bold
ContentPadding [} 348] Definition of the distance of the text to the border
TextHorizontalAlignment [} 348] Selecting the horizontal alignment of the text
Placeholder [} 348] Definition of the placeholder, which is displayed if no
text is entered.
Events
Category: Control
Name Description
onTextChanged [} 350] The text has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onUserInteractionFinished [} 350] The user has finished the interaction with the control.
onFocusIn [} 349] The control now has the focus.
onFocusOut [} 350] The control has lost focus.
onUserInteractionCanceled [} 350] The user has terminated the interaction with the
control element.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Input [} 340]
PasswordInput
See also
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
Category: Common
Name Description
File [} 460] The path to the PDF file to be displayed.
Page [} 460] The number of the page to be displayed initially.
NamedDestination [} 461] The label to be displayed initially.
Zoom [} 461] Zoom level to be used initially.
Accepted formats: [zoom], [left offset], [top offset],
page-width, page-height, page-fit, auto\nExample:
zoom=200
PageMode [} 461] Page mode (state of the sidebar).
Accepted values: none, thumbs, bookmarks,
attachments\nExample: pagemode=none
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Control
Name Description
onLoad [} 340] The image was loaded successfully.
onError [} 340] The image was not loaded successfully.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
PDF Viewer
See also
5.10.2.25.1 Attributes
File
The path to the PDF file to be displayed.
Schema: tchmi:framework#/definitions/Path
See also
Page
The number of the page to be displayed initially.
Schema: tchmi:general#/definitions/Integer
See also
NamedDestination
The label to be displayed initially.
Schema: tchmi:general#/definitions/String
See also
Zoom
Zoom level to be used initially.
Accepted formats: [zoom], [left offset], [top offset], page-width, page-height, page-fit, auto\nExample:
zoom=200
Schema: tchmi:framework#/definitions/Path
See also
PageMode
Page mode (state of the sidebar).
Schema: tchmi:framework#/definitions/Path
See also
5.10.2.26 Polygon
Closed shape formed from a set of interconnected points. The last point is automatically connected to the
first point.
Attributes
Category: Colors
Name Description
FillColor [} 468] Definition of the fill color of the control
StrokeColor [} 469] Definition of the line color of the control
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Points [} 468] Definition of the points that describe the polygon.
Each point is defined by an x-coordinate and a y-
coordinate.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Shape
Name Description
StrokeThickness [} 469] Definition of the line width
StrokeThicknessUnit [} 470] Selecting the unit of the line width:
• Pixels for an absolute width
StrokeStyle [} 469] Definition of the line style
FillMode [} 468] Selecting the fill areas:
• NonZero: All areas that lie within the connecting
lines are filled in.
• EvenOdd: If a polygon is drawn so that the
resulting surfaces overlap, this section is filled in
for an odd number of overlapping surfaces and not
filled in for an even number.
ScaleMode [} 468] Selecting the polygon scaling:
• None: The polygon is not scaled. The points that
do not lie within the control are truncated.
• ScaleToFill: The polygon is displayed on the entire
size of the control. The proportions of the polygon
are not taken into account.
• ScaleToFit: The polygon is displayed as large as
possible without exceeding the edges of the
control. The proportions of the polygon are
maintained.
• ScaleToFitWidth: The polygon is displayed over
the entire width of the control, regardless of
whether it exceeds the limits of the control. The
proportions of the polygon are maintained.
• ScaleToFitHeight: The polygon is displayed over
the entire height of the control, regardless of
whether it exceeds the limits of the control. The
proportions of the polygon are maintained.
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Polygon
See also
5.10.2.26.1 Attributes
FillColor
Defines the fill color of the control.
Schema: tchmi:framework#/definitions/Color
See also
FillMode
Defines which areas are inside or outside. This is only required for self-overlapping polygons.
Schema: tchmi:framework#/definitions/FillMode
See also
Points
Each point is defined by an x-coordinate and a y-coordinate.
It is common practice (but not necessary) to put a comma between the x- and y-coordinates and a space
between the points, as in this example: 100,10 250,150 200,110
Schema: tchmi:general#/definitions/String
See also
ScaleMode
Scales the content to the control size.
Schema: tchmi:framework#/definitions/ScaleMode
See also
StrokeColor
Defines the stroke color of the control.
Schema: tchmi:framework#/definitions/SolidColor
See also
StrokeStyle
Definition of the stroke style.
Comma or space-separated list of numbers that specify the length of strokes and spaces.
If an odd number is specified, the list is repeated once. Example: "5, 3, 2" is equivalent to "5, 3, 2, 5,
3, 2".
Schema: tchmi:general#/definitions/String
See also
StrokeThickness
Defines the border width of the control in pixels.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
StrokeThicknessUnit
Pixel unit. At this point, only pixels can be used as a unit.
Schema: tchmi:framework#/definitions/PixelUnit
See also
5.10.2.27 Polyline
Open shape formed from a set of interconnected points.
Attributes
Category: Colors
Name Description
FillColor [} 468] Definition of the fill color of the control
StrokeColor [} 469] Definition of the line color of the control
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Points [} 468] Definition of the points that describe the polygon.
Each point is defined by an x-coordinate and a y-
coordinate.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Shape
Name Description
StrokeThickness [} 469] Definition of the line width
StrokeThicknessUnit [} 470] Selecting the unit of the line width:
• Pixels for an absolute width
StrokeStyle [} 469] Definition of the line style
FillMode [} 468] Selecting the fill areas:
• NonZero: All areas that lie within the connecting
lines are filled in.
• EvenOdd: If a polygon is drawn so that the
resulting surfaces overlap, this section is filled in
for an odd number of overlapping surfaces and not
filled in for an even number.
ScaleMode [} 468] Selecting the polygon scaling:
• None: The polygon is not scaled. The points that
do not lie within the control are truncated.
• ScaleToFill: The polygon is displayed on the entire
size of the control. The proportions of the polygon
are not taken into account.
• ScaleToFit: The polygon is displayed as large as
possible without exceeding the edges of the
control. The proportions of the polygon are
maintained.
• ScaleToFitWidth: The polygon is displayed over
the entire width of the control, regardless of
whether it exceeds the limits of the control. The
proportions of the polygon are maintained.
• ScaleToFitHeight: The polygon is displayed over
the entire height of the control, regardless of
whether it exceeds the limits of the control. The
proportions of the polygon are maintained.
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Polygon [} 461]
Polyline
See also
Attributes
Category: Colors
Name Description
ProgressBackgroundColor [} 489] Definition of the background color of the bar
ProgressForegroundColor [} 489] Definition of the bar color
GaugeBackground [} 485] Definition of the color of the round background
ValueColor [} 494] Definition of the text color of the display of the current
value
LabelColor [} 486] Definition of the text color of the scaling values
UnitColor [} 492] Definition of the unit color
TickColor [} 492] Definition of the scaling color
KnobColor [} 485] Definition of the fill color of the slider
KnobArrowsColor [} 485] Definition of the outline and arrow color of the slider
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
StartPosition [} 490] Definition of the start angle of the display
EndPosition [} 485] Definition of the end angle of the display
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
Name Description
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Value [} 494] Definition of the value to be displayed
Editable [} 484] Selecting whether the slider should be displayed and
therefore whether the linear gauge is editable
BaseAnimationTime [} 484] Definition of the base animation time in milliseconds.
It describes the time of the animation from minimum
to maximum value.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Value
Name Description
MinValue [} 489] Defines the smallest value that the control element
should graphically display
MaxValue [} 488] Defines the largest value that the control element
should graphically display
Step [} 491] Definition of the increment for changing the value via
the slider
Range [} 489] Definition of the value range of the color scales
ShowValueText [} 490] Selecting whether the current value is to be displayed
StartFromZero [} 491] Selecting whether the minimum value is to be zero
irrespective of the 'Minimum Value' attribute.
ValueFontFamily [} 494] Definition of the font using the name of the font family
or the keyword
ValueFontSize [} 494] Definition of the font size
ValueFontSizeUnit [} 495] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
ValueFontStyle [} 495] Selecting the font style:
• Normal
• Italic: italic
• Oblique: slanted
ValueFontWeight [} 495] Selecting the font weight:
• Normal
• Bold: bold
ValueFormat [} 495] Definition of a formatting function for the value
ClickAnywhereToEdit [} 484] Selecting whether the value can be changed by
clicking anywhere in the control
Category: Labels
Name Description
ShowLabels [} 490] Selecting whether the scaling values are to be
displayed
LabelPosition [} 488] Selecting the position of the scaling to the bar:
• Inside
• Outside
LabelRange [} 488] Definition of the jump distance between the individual
scaling values
LabelFormat [} 487] Definition of a formatting function for the scaling
LabelFontFamily [} 486] Definition of the font using the name of the font family
or the keyword
LabelFontSize [} 486] Definition of the font size of the scaling
LabelFontSizeUnit [} 487] Selecting the unit:
• Pixels for an absolute size
• Percent for a relative size
LabelFontStyle [} 487] Selecting the font style of the scaling:
• Normal
• Italic: italic
• Oblique: slanted
LabelFontWeight [} 487] Selecting the font weight of the scaling:
• Normal
• Bold: bold
Category: Ticks
Name Description
ShowTicks [} 490] Selecting whether the scaling subdivision is to be
displayed
TickDefinition [} 492] Definition of scale divisions
SubTickPosition [} 491] Selecting the position of the auxiliary scaling to the
bar:
• Inside
• Outside
Category: Unit
Name Description
Unit [} 484] Definition of the unit or description of the value
UnitFontFamily [} 492] Definition of the font using the name of the font family
or the keyword
UnitFontSize [} 493] Definition of the font size of the unit
UnitFontSizeUnit [} 493] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
UnitFontStyle [} 493] Selecting the font style of the label:
• Normal
• Italic: italic
• Oblique: slanted
UnitFontWeight [} 493] Selecting the font weight:
• Normal
• Bold: bold
Events
Category: Control
Name Description
onValueChanged [} 497] The value has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onUserInteractionFinished [} 497] The user has finished the interaction with the control.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Radial Gauge
See also
5.10.2.28.1 Attributes
BaseAnimationTime
The base animation time in milliseconds. It describes the time of the animation from minimum to maximum
value.
Schema: tchmi:general#/definitions/UDINT
See also
ClickAnywhereToEdit
Click anywhere in the control to change the value.
Schema: tchmi:general#/definitions/Boolean
See also
Unit
The unit or description of the display value.
Schema: tchmi:general#/definitions/String
See also
Editable
Determines whether the slider should be displayed.
The appearance of the slider can be changed via Themed Resource of the control.
Schema: tchmi:general#/definitions/Boolean
See also
EndPosition
The end angle of the display. The value 0 points to the right and 90 points upwards.
Schema: tchmi:general#/definitions/Number
See also
GaugeBackgroundColor
The color of the round background.
Schema: tchmi:framework#/definitions/Color
See also
KnobArrowsColor
Outline and arrow color of the slider.
Schema: tchmi:framework#/definitions/SolidColor
See also
KnobColor
Fill color of the slider.
Schema: tchmi:framework#/definitions/Color
See also
LabelColor
The color of the texts for the scale divisions.
Schema: tchmi:framework#/definitions/SolidColor
See also
LabelFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:general#/definitions/String
See also
LabelFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
LabelFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
LabelFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
LabelFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
LabelFormat
Schema: tchmi:framework#/definitions/Function
A function must fulfill the following signature in order to be offered in the engineering. The parameters
mentioned here are set by the control. Further parameters are possible and can be specified per instance in
the engineering.
[ Function ]
LabelFormat(value: number): string;
Parameter
Name Type Description
value number The numerical value for the label.
Return value
Type Description
string The text to be displayed. HTML is not allowed here.
See also
Attribute setter:setLabelFormat
LabelPosition
The position of the label texts (inside or outside).
Schema: tchmi:framework#/definitions/RadialGaugeLabelPosition
See also
LabelRange
The value range between the label texts.
Schema: tchmi:general#/definitions/Number
See also
MaxValue
The largest value that the control should display graphically.
Schema: tchmi:general#/definitions/Number
See also
MinValue
The smallest value that the control should display graphically.
Schema: tchmi:general#/definitions/Number
See also
ProgressBackgroundColor
The color to the right of the value.
Schema: tchmi:framework#/definitions/SolidColor
See also
ProgressForegroundColor
The color to the left of the value.
Schema: tchmi:framework#/definitions/SolidColor
See also
Range
The value range of the color scales.
Schema: tchmi:framework#/definitions/GaugeRangeDefinitionList
See also
ShowLabels
Label texts are either displayed or not.
Schema: tchmi:general#/definitions/Boolean
See also
ShowTicks
Defines whether main axis markers are to be drawn.
Schema: tchmi:general#/definitions/Boolean
See also
ShowValueText
Either displays the number value or not.
Schema: tchmi:general#/definitions/Boolean
See also
StartPosition
The start angle of the display. The value 0 points to the right and 90 points upwards.
Schema: tchmi:general#/definitions/Number
See also
StartFromZero
Starts from zero or at the minimum value. This has no effect if the minimum value is equal to or greater than
zero.
Schema: tchmi:general#/definitions/Boolean
See also
Step
Defines the increment with which the value can be incremented/decremented.
Schema: tchmi:framework#/definitions/PositiveNumber
See also
SubTickPosition
The position (inside or outside) of the secondary to the primary scale divisions.
Schema: tchmi:framework#/definitions/RadialGaugeLabelPosition
See also
TickColor
Schema: tchmi:framework#/definitions/SolidColor
See also
TickDefinition
Describes the scale divisions.
Schema: tchmi:framework#/definitions/GaugeTickDefinition
See also
UnitColor
Schema: tchmi:framework#/definitions/SolidColor
See also
UnitFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:general#/definitions/String
See also
UnitFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
UnitFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
UnitFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
UnitFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
Value
The value of the display.
Schema: tchmi:general#/definitions/Number
See also
ValueColor
The color of the display value.
Schema: tchmi:framework#/definitions/SolidColor
See also
ValueFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:general#/definitions/String
See also
ValueFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
ValueFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
ValueFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
ValueFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
ValueFormat
Schema: tchmi:framework#/definitions/Function
A function must fulfill the following signature in order to be offered in the engineering. The parameters
mentioned here are set by the control. Further parameters are possible and can be specified per instance in
the engineering.
[ Function ]
ValueFormat(value: number): string;
Parameter
Name Type Description
value number The current numerical value.
Return value
Type Description
string The text to be displayed. HTML is not allowed here.
See also
SetPoint
The setpoint of the display.
Schema: tchmi:general#/definitions/Number
See also
SetPointMarkerColor
Color of the setpoint marker.
Schema: tchmi:framework#/definitions/SolidColor
See also
GaugeAlignment
The position of the control.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiRadialGauge.GaugeAlignment
See also
5.10.2.28.2 Events
onUserInteractionFinished
The user has finished the interaction [} 484] with the control.
onValueChanged
The value [} 494] has been changed.
KnobConfig
A different graphic can be selected for the display of the slider.
The path of the image file and the display size of the image must be specified. Furthermore, the offset of the
"anchor point" can be defined. This allows the image to be positioned correctly with respect to the value bar.
Note that an SVG file opens its own viewport and therefore the aspect ratio cannot normally be changed.
Partially transparent images in PNG and SVG format are also supported. For pixel graphics (PNG, JPG)
please note that the attributes KnobColor [} 485] and KnobArrowsColor [} 485] have no effect. If an SVG is
used, the color definition can take effect if the SVG is prepared accordingly.
Example SVG
<svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="40" height="40">
<defs>{KnobColorGradientDefinition}</defs>
<circle r="18px" cx="20px" cy="20px"
style="stroke-width:3px;{KnobColorFill}{KnobArrowsColorStroke}"></circle>
<path d="M 18 11 L 16 11 L 7 20 L 16 29 L 18 29 L 18 27 L 11 20 L 18 13 Z"
style="stroke:none;{KnobArrowsColorFill}"></path>
<path d="M 22 13 L 24 11 L 33 20 L 24 29 L 22 29 L 22 27 L 29 20 L 22 13 Z"
style="stroke:none;{KnobArrowsColorFill}"></path>
</svg>
Schema: tchmi:framework#/definitions/KnobDefinition
Only one radio button from a RadioGroup [} 505] can be selected at a time. If you select another radio button
from RadioGroup [} 505], the last button that was selected will be deselected.
The .onRadioStateChanged [} 509] event can be used to perform actions when the state of the radio button
changes.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
RadioStateIconColor [} 505] Definition of the color of the state marker.
TextColor [} 508] Definition of the text color.
TextBackgroundColor [} 508] Definition of the text background color.
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
StateSymbol [} 505] Reflects the state of the RadioButton for the assigned
symbol and vice versa.
RadioState [} 505] Definition of the internal switching state of the control
RadioGroup [} 505] User-defined name for a group. Only one radio button
in this group can be active.
Text [} 506] The text to be displayed next to the radio button.
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
TextPosition [} 506] The text position.
TextHorizontalAlignment [} 506] The horizontal alignment of the text.
TextVerticalAlignment [} 506] The vertical alignment of the text.
TextFontFamily [} 507] Comma-separated list of fonts as font family or
keyword: 'serif', 'sans-serif', 'monospace'.
TextFontSize [} 507] The font size. If the percent is specified as the unit,
this is relative to the font size of the parent element.
TextFontSizeUnit [} 507] Pixels, or percent for relative sizes.
TextFontStyle [} 507] Font style (normal, italic: oblique with special
characters, oblique)
TextFontWeight [} 508] The font weight (normal, bold)
Events
Category: Control
Name Description
onToggleStateChanged [} 190] The ToggleState value of the checkbox has changed.
onStateChanged [} 190] The status of the checkbox has changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Radio button
See also
5.10.2.29.1 Attributes
StateSymbol
Reflects the state of the radio button for the assigned symbol and vice versa.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiRadioButton.StateSymbol
See also
RadioState
Internal state of the control. This can be Normal or Active.
Schema: tchmi:framework#/definitions/ToggleState
See also
RadioGroup
User-defined name for a group. Only one control in this group can be active.
Schema: tchmi:general#/definitions/String
See also
RadioStateIconColor
Schema: tchmi:framework#/definitions/SolidColor
See also
Text
The text to be displayed next to the radio button.
Schema: tchmi:general#/definitions/String
See also
TextPosition
The text position.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiRadioButton.TextPosition
See also
TextHorizontalAlignment
The horizontal alignment of the text.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
TextVerticalAlignment
The vertical alignment of the text.
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
TextFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
TextFontWeight
The font weight (normal, bold)
Schema: tchmi:framework#/definitions/FontWeight
See also
TextColor
Definition of the text color.
Schema: tchmi:framework#/definitions/SolidColor
See also
TextBackgroundColor
Definition of the text background color.
Schema: tchmi:framework#/definitions/Color
See also
5.10.2.29.2 Events
onRadioStateChanged
The RadioState [} 505] value of the radio button has changed.
onStateChanged
The state has changed.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
Category: Common
Name Description
ServerDomain [} 514] The domain of the recipe management extension on
the server.
Standard setting: TcHmiRecipeManagement
ServerInterval [} 514] Interval time to be used for server subscriptions.
Standard setting: 1000
SelectedRecipeFullName [} 515] The complete name including the path of the
currently selected recipe.
SelectedRecipeName [} 515] The name of the currently selected recipe.
SelectedRecipePath [} 515] The path of the currently selected recipe.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Control
Name Description
onLoad [} 340] The image was loaded successfully.
onError [} 340] The image was not loaded successfully.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
activateRecipe [} 515] Specifies whether the current user can activate a
selected recipe.
teachRecipe [} 516] Specifies whether the current user can teach a
selected recipe.
Inheritance hierarchy
Control [} 690]
Recipe Select
See also
5.10.2.30.1 Attributes
ServerDomain
The domain of the recipe management extension on the server.
Schema: tchmi:general#/definitions/String
See also
ServerInterval
Interval time to be used for server subscriptions.
Schema: tchmi:general#/definitions/Number
See also
SelectedRecipeFullName
The complete name including the path of the currently selected recipe.
Schema: tchmi:general#/definitions/String
See also
SelectedRecipeName
The name of the currently selected recipe.
Schema: tchmi:general#/definitions/String
See also
SelectedRecipePath
The path of the currently selected recipe.
Schema: tchmi:general#/definitions/String
See also
5.10.2.30.2 Permissions
activateRecipe
Specifies whether the current user can activate a selected recipe.
See also
teachRecipe
Specifies whether the current user can teach a selected recipe.
See also
5.10.2.31 Rectangle
A rectangular object.
Attributes
Category: Colors
Name Description
FillColor [} 523] Definition of the fill color of the control
StrokeColor [} 523] Definition of the line color
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Shape
Name Description
StrokeThickness [} 523] Definition of the line width
StrokeThicknessUnit [} 524] Selecting the unit of the line width:
• Pixels for an absolute width
StrokeStyle [} 523] Definition of the line style
RadiusX [} 522] Definition of the x-axis radius of the ellipse used to
round the corners of the rectangle
RadiusXUnit [} 522] Selecting the unit of the x-axis radius:
• Pixel for an absolute radius
RadiusY [} 522] Definition of the y-axis radius of the ellipse used to
round the corners of the rectangle
RadiusYUnit [} 522] Selecting the unit of the y-axis radius:
• Pixel for an absolute radius
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Rectangle
See also
5.10.2.31.1 Attributes
RadiusX
Definition of the x-axis radius of the ellipse used to round the corners of the rectangle.
If a value is given for radius X but not for radius Y (or vice versa), this value applies to radius X and radius Y.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
RadiusXUnit
Pixel unit. At this point, only pixels can be used as a unit.
Schema: tchmi:framework#/definitions/PixelUnit
See also
RadiusY
Definition of the y-axis radius of the ellipse used to round the corners of the rectangle.
If a value is given for radius X but not for radius Y (or vice versa), this value applies to radius X and radius Y.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
RadiusYUnit
Pixel unit. At this point, only pixels can be used as a unit.
Schema: tchmi:framework#/definitions/PixelUnit
See also
FillColor
Defines the fill color of the control.
Schema: tchmi:framework#/definitions/Color
See also
StrokeColor
Defines the stroke color of the control.
Schema: tchmi:framework#/definitions/SolidColor
See also
StrokeStyle
Definition of the stroke style. Comma or space-separated list of numbers that specify the length of strokes
and spaces. If an odd number is specified, the list is repeated once. Example: "5, 3, 2" is equivalent to "5, 3,
2, 5, 3, 2".
Schema: tchmi:general#/definitions/String
See also
StrokeThickness
Defines the stroke thickness of the control in pixels.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
StrokeThicknessUnit
Pixel unit. At this point, only pixels can be used as a unit.
Schema: tchmi:framework#/definitions/PixelUnit
See also
5.10.2.32 ScopeControl
Scope recordings can be started, stopped and analyzed with the Scope control.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
ScopeConfig [} 531] Definition of the Scopeconfig with the config name
and the chart name.
ServerInterval [} 531] Definition of the update rate of the data from the
scope extension.
EnabledRecordControls [} 532] Selecting whether the start/stop record buttons
should be displayed.
ChartColorSource [} 532] Selection of the display mode of the scope diagram:
• ScopeConfig: Uses the colors from the scope
config.
• Theme: uses the theme colors.
ServerDomain [} 531] Definition of the server extension name.
ShowTriggerWindow [} 533] Definition of whether the trigger window should be
displayed.
TriggerWindowPosition [} 532] Definition of where the trigger window should be
displayed.
• Top
• Bottom
• Right
• Left
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Name Description
BackgroundImage [} 705] Definition of an image that is located above the
background color
BackgroundImageHeight [} 706] Definition of the height of the background image
BackgroundImageHeightUnit [} 706] Selection of the unit of the height of the background
image:
• Pixels for an absolute height
• Percent for a relative height
BackgroundImageWidth [} 705] Definition of the width of the background image
BackgroundImageWidthUnit [} 705] Selection of the unit of the width of the background
image:
• Pixels for an absolute width
• Percent for a relative width
BackgroundImagePadding [} 706] Definition of an additional distance between the
border of the control and background image for the
four sides
BackgroundImageVerticalAlignment [} 707] Definition of the vertical alignment of the background
image within the control
BackgroundImageHorizontalAlignment [} 706] Definition of the horizontal alignment of the
background image within the control
Events
Category: Control
Name Description
onLoadedData [} 137] The audio file was loaded successfully.
onError [} 137] The audio file was not loaded successfully.
onVolumeChange [} 137] The volume of the audio file has been changed.
onDurationChange [} 137] The duration of the audio file has changed.
onIsEndedChange [} 137] The audio file has been terminated.
onIsPlayingChange [} 138] The audio file has changed its playback status.
onTimeUpdate [} 138] The playback position has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Functions
Name Description
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control
Scope Control
See also
5.10.2.32.1 Attributes
ScopeConfig
Defines the chart in a configuration that is displayed and for which a recording is to be started.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiScopeControl.Config
See also
ServerInterval
Definition of the interval at which the data is updated with the scope extension.
Schema: tchmi:general#/definitions/Number
See also
ServerDomain
Definition of the server extension name.
Schema: tchmi:general#/definitions/String
See also
EnabledRecordControls
Selecting whether the Start/StopRecord buttons should be displayed.
Schema: tchmi:general#/definitions/Boolean
See also
ChartColorSource
Defines whether the colors from ScopeConfig or the theme colors are to be used.
• ScopeConfig: Uses the specified colors from the ScopeConfig.
• Theme: Uses the theme colors.
Schema: tchmi:framework#/TcHmi.Controls.Beckhoff.TcHmiScopeControl.ChartColorSource
See also
TriggerWindowPosition
Defines where the trigger window should be displayed.
• Top
• Botton
• Right
• Left
Schema: tchmi:framework#/TcHmi.Controls.Beckhoff.TcHmiScopeControl.TriggerWindowPosition
See also
ShowTriggerWindow
Selection whether the trigger window should be displayed.
Schema: tchmi:general#/definitions/Boolean
See also
5.10.2.32.2 Functions
startRecord
Starts a scope recording.
stopRecord
Stops a scope recording.
startDisplay
Starts calling up the live data from the scope recording.
stopDisplay
Stops calling up the live data from the scope recording.
zoomToDefault
Sets the image region to the default value.
zoomOutMax
Sets the image region to the largest possible.
goTo
Sets the image region start time to the selected timespan from the recording start time.
Parameter:
• valueNew: Timespan in scope format.
setDisplayWidth
Sets the image region to the desired section.
Parameter:
• valueNew: Timespan in scope format.
scroll
Scrolls the image region forward or backward.
Parameter:
• valueNew: Direction (Forward, Reserve) as string.
scrollBig
Scrolls the image region forward or backward by one full page.
Parameter:
• valueNew: Direction (Forward, Reserve) as string.
undo
Undoes the last action.
redo
Restores the last action.
setOverviewMode
Switches the overview on/off.
getMouseMode
Sets the mouse mode for the interactions.
setMouseMode
Sets the mouse mode for the interactions.
Parameter:
• valueNew: Mousemode (ZoomX, ZoomXY, PanX, PanXY) as string.
ChartBackgroundColor
This is the color used for the chart background if theme is defined in the attribute ChartColorSource [} 532].
Schema: tchmi:framework#/definitions/Color
ChartForegroundColor
This is the color used for the chart foreground (e.g. the chart heading) if theme is defined in the attribute
ChartColorSource [} 532].
Schema: tchmi:framework#/definitions/Color
OverviewBackgroundColor
This is the color used for the overview background if theme is defined in the attribute ChartColorSource
[} 532].
Schema: tchmi:framework#/definitions/Color
OverviewForegroundColor
This is the color used for the overview foreground (lines, font color, etc.) if theme is defined in the attribute
ChartColorSource [} 532].
Schema: tchmi:framework#/definitions/Color
CanvasBackgroundColor
This is the color used for the canvas background if theme is defined in the attribute ChartColorSource [} 532].
Schema: tchmi:framework#/definitions/Color
AxisColor
This is the color used for the axes including the axis labels and axis name if theme is defined in the attribute
ChartColorSource [} 532].
Schema: tchmi:framework#/definitions/Color
GridColor
This is the color used for the gridlines if theme is defined in the attribute ChartColorSource [} 532].
Schema: tchmi:framework#/definitions/Color
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
ValueColor [} 443] Definition of the text color
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Value [} 443] Definition of the value
MinValue [} 444] Definition of the minimum value
MaxValue [} 444] Definition of the maximum value
DecimalDigits [} 444] Number of decimal places
AutoFocusOut [} 447] Determines whether the control automatically loses
focus when the user confirms or ends his input by
pressing Enter or Escape.
AutoSelectText [} 447] Determines whether the entire text is automatically
selected when it is focused.
ResetToLastValidValue [} 448] Determines whether the value is reset to the last valid
value when focus is lost.
Step [} 544] Defines the increment with which the value can be
incremented/decremented.
ButtonPosition [} 544] The position of the spinbox buttons relative to the
display.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Name Description
BackgroundImage [} 705] Definition of an image that is located above the
background color
BackgroundImageHeight [} 706] Definition of the height of the background image
BackgroundImageHeightUnit [} 706] Selection of the unit of the height of the background
image:
• Pixels for an absolute height
• Percent for a relative height
BackgroundImageWidth [} 705] Definition of the width of the background image
BackgroundImageWidthUnit [} 705] Selection of the unit of the width of the background
image:
• Pixels for an absolute width
• Percent for a relative width
BackgroundImagePadding [} 706] Definition of an additional distance between the
border of the control and background image for the
four sides
BackgroundImageVerticalAlignment [} 707] Definition of the vertical alignment of the background
image within the control
BackgroundImageHorizontalAlignment [} 706] Definition of the horizontal alignment of the
background image within the control
Category: Value
Name Description
ValueFontFamily [} 445] Definition of the font using the name of the font family
or the keyword
ValueFontSize [} 445] Definition of the font size
ValueFontSizeUnit [} 445] Definition of the font size unit:
• Pixels for an absolute size
• Percent for a relative size
ValueFontStyle [} 445] Selecting the font style:
• Normal
• Italic
• Oblique
ValueFontWeight [} 446] Selecting the font weight of the text:
• Normal
• Bold
ContentPadding [} 446] Definition of the distance of the text to the border
ValueHorizontalAlignment [} 446] Selecting the horizontal alignment of the text
Placeholder [} 447] Definition of the placeholder, which is displayed if no
value is entered.
Events
Category: Control
Name Description
onValueChanged [} 448] The value has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onUserInteractionFinished [} 449] The user has finished the interaction with the control.
onFocusIn [} 448] The control now has the focus.
onFocusOut [} 448] The control has lost focus.
onUserInteractionCanceled [} 449] The user has terminated the interaction with the
control element.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
NumericInput [} 436]
SpinboxInput
See also
5.10.2.33.1 Attribute
Step
Defines the increment with which the value can be incremented/decremented.
Schema: tchmi:general#/definitions/Number
See also
ButtonPosition
The position of the spinbox buttons relative to the display.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiSpinboxInput.ButtonPosition
See also
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
State [} 550] Definition of the symbol that is queried
StateList [} 550] List of assignments of images to values of the state
symbol
FallbackImage [} 551] Image that is accessed if the state is not defined in
the StateList or if no image is assigned to the current
value of the state symbol in the StateList
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
StateImage
See also
5.10.2.34.1 Attributes
State
Definition of the state symbol that is queried.
Schema: tchmi:general#/definitions/Any
See also
StateList
List of assignments of images to values of the state symbol.
By engineering, a list of assignments can be created so that a certain image is displayed for a certain value
of the state symbol.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiStateImage.StateList
See also
FallbackImage
Image that is accessed if the state is not defined in the StateList or if no image is assigned to the current
value of the state symbol in the StateList.
Schema: tchmi:framework#/definitions/Path
See also
5.10.2.35 Tachometer
A tachometer is a radial indicator that displays a value on a scale using a tachometer needle.
Attributes
Category: Colors
Name Description
GaugeBackgroundColor [} 559] Definition of the color of the round background
ValueColor [} 568] Definition of the text color of the display of the current
value
LabelColor [} 560] Definition of the text color of the scaling values
UnitColor [} 566] Definition of the unit color
TickColor [} 565] Definition of the scaling color
NeedleColor [} 559] Definition of the color of the tachometer needle
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
StartPosition [} 564] Definition of the start angle of the display
EndPosition [} 558] Definition of the end angle of the display
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
Name Description
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Value [} 567] Definition of the value to be displayed
MinValue [} 563] Defines the smallest value that the control element
should graphically display
MaxValue [} 563] Defines the largest value that the control element
should graphically display
NeedleLength [} 559] The length of the tachometer needle as a percentage
of the radius of the control.
BaseAnimationTime [} 558] Definition of the basic animation time in milliseconds.
It describes the time of the animation from minimum
to maximum value.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Value
Name Description
Range [} 563] Definition of the value range of the color scales
ShowValueText [} 564] Selecting whether the current value is to be displayed
ValueFontFamily [} 568] Definition of the font using the name of the font family
or the keyword
ValueFontSize [} 568] Definition of the font size
ValueFontSizeUnit [} 569] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
ValueFontStyle [} 569] Selecting the font style:
• Normal
• Italic
• Oblique
ValueFontWeight [} 569] Selecting the font weight:
• Normal
• Bold
ValueFormat [} 570] Definition of a formatting function for the value
Category: Labels
Name Description
ShowLabels [} 564] Selecting whether the scaling values are to be
displayed
LabelPosition [} 562] Selecting the position of the scaling to the bar:
• Inside
• Outside
LabelRange [} 562] Definition of the jump distance between the individual
scaling values
LabelFormat [} 561] Definition of a formatting function for the scaling
LabelFontFamily [} 560] Definition of the font using the name of the font family
or the keyword
LabelFontSize [} 560] Definition of the font size of the scaling
LabelFontSizeUnit [} 560] Selecting the unit:
• Pixels for an absolute size
• Percent for a relative size
LabelFontStyle [} 561] Selecting the font style of the scaling:
• Normal
• Italic
• Oblique
LabelFontWeight [} 561] Selecting the font weight of the scaling:
• Normal
• Bold
Category: Ticks
Name Description
ShowTicks [} 564] Selecting whether the scaling subdivision is to be
displayed
TickDefinition [} 565] Definition of scale divisions
SubTickPosition [} 565] Selecting the position of the auxiliary scaling to the
bar:
• Inside
• Outside
Category: Unit
Name Description
Unit [} 558] Definition of the unit or description of the value
UnitFontFamily [} 566] Definition of the font using the name of the font family
or the keyword
UnitFontSize [} 566] Definition of the font size of the unit
UnitFontSizeUnit [} 567] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
UnitFontStyle [} 567] Selecting the font style of the label:
• Normal
• Italic
• Oblique
UnitFontWeight [} 567] Selecting the font weight:
• Normal
• Bold
Events
Category: Control
Name Description
onValueChanged [} 571] The value has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onUserInteractionFinished [} 497] The user has finished the interaction with the control.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Tachometer
See also
5.10.2.35.1 Attributes
BaseAnimationTime
The basic animation time in milliseconds. It describes the time of the animation from minimum to maximum
value.
Schema: tchmi:general#/definitions/UDINT
See also
Unit
The unit or description of the display value.
Schema: tchmi:general#/definitions/String
See also
EndPosition
The end angle of the display. The value 0 points to the right and 90 points upwards.
Schema: tchmi:general#/definitions/Number
See also
GaugeBackgroundColor
The color of the round background.
Schema: tchmi:framework#/definitions/Color
See also
NeedleColor
Color of the tachometer needle.
Schema: tchmi:framework#/definitions/Color
See also
NeedleLength
The length of the tachometer needle as a percentage of the radius of the control.
Schema: tchmi:general#/definitions/Number
See also
LabelColor
The color of the texts for the scale divisions.
Schema: tchmi:framework#/definitions/SolidColor
See also
LabelFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:general#/definitions/String
See also
LabelFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
LabelFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
LabelFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
LabelFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
LabelFormat
Schema: tchmi:framework#/definitions/Function
A function must fulfill the following signature in order to be offered in the engineering. The parameters
mentioned here are set by the control. Further parameters are possible and can be specified per instance in
the engineering.
[ Function ]
LabelFormat(value: number): string;
Parameter
Name Type Description
value number The numerical value for the label.
Return value
Type Description
string The text to be displayed. HTML is not allowed here.
See also
LabelPosition
The position of the label texts (inside or outside).
Schema: tchmi:framework#/definitions/RadialGaugeLabelPosition
See also
LabelRange
The value range between the label texts.
Schema: tchmi:general#/definitions/Number
See also
MaxValue
The largest value that the control should display graphically.
Schema: tchmi:general#/definitions/Number
See also
MinValue
The smallest value that the control should display graphically.
Schema: tchmi:general#/definitions/Number
See also
Range
The value range of the color scales.
Schema: tchmi:framework#/definitions/GaugeRangeDefinitionList
See also
ShowLabels
Label texts are either displayed or not.
Schema: tchmi:general#/definitions/Boolean
See also
ShowTicks
Defines whether main axis markers are to be drawn.
Schema: tchmi:general#/definitions/Boolean
See also
ShowValueText
Either displays the number value or not.
Schema: tchmi:general#/definitions/Boolean
See also
StartPosition
The start angle of the display. The value 0 points to the right and 90 points upwards.
Schema: tchmi:general#/definitions/Number
See also
SubTickPosition
The position (inside or outside) of the secondary to the primary scale divisions.
Schema: tchmi:framework#/definitions/RadialGaugeLabelPosition
See also
TickColor
Schema: tchmi:framework#/definitions/SolidColor
See also
TickDefinition
Describes the scale divisions.
Schema: tchmi:framework#/definitions/GaugeTickDefinition
See also
UnitColor
Schema: tchmi:framework#/definitions/SolidColor
See also
UnitFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:general#/definitions/String
See also
UnitFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
UnitFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
UnitFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
UnitFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
Value
The value of the display.
Schema: tchmi:general#/definitions/Number
See also
ValueColor
The color of the display value.
Schema: tchmi:framework#/definitions/SolidColor
See also
ValueFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:general#/definitions/String
See also
ValueFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
ValueFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
ValueFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
ValueFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
ValueFormat
Schema: tchmi:framework#/definitions/Function
A function must fulfill the following signature in order to be offered in the engineering. The parameters
mentioned here are set by the control. Further parameters are possible and can be specified per instance in
the engineering.
[ Function ]
ValueFormat(value: number): string;
Parameter
Name Type Description
value number The current numerical value.
Return value
Type Description
string The text to be displayed. HTML is not allowed here.
See also
GaugeAlignment
The position of the control.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiRadialGauge.GaugeAlignment
See also
5.10.2.35.2 Events
onValueChanged
The value [} 567] has been changed.
5.10.2.36 Textblock
A text block is a control in which text can be displayed.
Attributes
Category: Colors
Name Description
TextColor [} 579] Definition of the text color
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
'Width' attribute is ignored in all calculations!
HeightMode [} 578] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
upper and lower side of the parent element. The
'Height' attribute is ignored in all calculations!
• Content: The height is defined by the length of the
text. The 'Height' attribute is ignored in all
calculations!
Category: Common
Name Description
Text [} 579] Definition of the text
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
TextHorizontalAlignment [} 579] Selecting the horizontal alignment of the text
TextVerticalAlignment [} 579] Selecting the vertical alignment of the text
ContentPadding [} 577] Definition of the distance between the text and the
control border
WordWrap [} 580] Selecting whether the text should be wrapped if it is
too long to fit in one row
TextFontFamily [} 577] Definition of the font using the name of the font family
or the keyword
TextFontSize [} 577] Definition of the font size
TextFontSizeUnit [} 577] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
TextFontStyle [} 578] Selecting the font style:
• Normal
• Italic: italic
• Oblique: slanted
TextFontWeight [} 578] Selecting the font weight:
• Normal
• Bold: bold
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Text block
See also
5.10.2.36.1 Attributes
ContentPadding
Defines the distance of the text to the border.
Schema: tchmi:framework#/definitions/Padding
See also
TextFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextFontStyle
Font style (normal, italic: oblique with special characters, oblique).
Schema: tchmi:framework#/definitions/FontStyle
See also
TextFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
HeightMode
Selection of the method of calculating the height. The available options are:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the top and bottom side. The Height attribute is
ignored in all calculations!
• Content: The height is defined by the text length of the control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeModeWithContent
See also
TextHorizontalAlignment
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
TextVerticalAlignment
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
Text
Contents of the text block.
Schema: tchmi:general#/definitions/String
See also
TextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
WordWrap
Text wrapping if the content is too long to fit in a single row.
Schema: tchmi:general#/definitions/Boolean
See also
5.10.2.37 Textbox
A text box is a control in which text can be displayed and entered. If only single-line texts are to be used, the
Input [} 340] control is preferable.
Attributes
Category: Colors
Name Description
TextColor [} 588] Definition of the text color
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Text [} 588] Definition of the text
AutoFocusOut [} 589] Determines whether the control element
automatically loses focus when the user confirms or
ends his input by pressing Enter or Escape.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
TextHorizontalAlignment [} 587] Selecting the alignment of the text
TextVerticalAlignment [} 587] Selecting the vertical alignment of the text
TextFontFamily [} 586] Definition of the font using the name of the font family
or the keyword
TextFontSize [} 586] Definition of the font size
TextFontSizeUnit [} 586] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
TextFontStyle [} 587] Selecting the font style:
• Normal
• Italic: italic
• Oblique: slanted
TextFontWeight [} 587] Selecting the font weight:
• Normal
• Bold: bold
WordWrap [} 589] Selecting whether the text should wrap if it is too long
to fit in one row
ContentPadding [} 586] Definition of the distance between the text and the
control border
Multiline [} 588] Selecting whether a multi-line text should be allowed
Placeholder [} 588] Definition of a placeholder, which is displayed if no
text is entered
Events
Category: Control
Name Description
onTextChanged [} 590] The text has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onUserInteractionFinished [} 590] The user has finished the interaction with the control.
onFocusIn [} 589] The control now has the focus.
onFocusOut [} 589] The control has lost focus.
onUserInteractionCanceled [} 590] The user has terminated the interaction with the
control element.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Textbox
See also
5.10.2.37.1 Attributes
ContentPadding
Defines the distance of the text to the border.
Schema: tchmi:framework#/definitions/Padding
See also
TextFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
TextFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
TextHorizontalAlignment
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
TextVerticalAlignment
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
Multiline
Determines whether multi-line text should be allowed.
Schema: tchmi:general#/definitions/Boolean
See also
Placeholder
Placeholder which is displayed if no text is entered.
Schema: tchmi:general#/definitions/String
See also
Text
Contents of the text box.
Schema: tchmi:general#/definitions/String
See also
TextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
WordWrap
Text wrapping if the content is too long to fit in a single row.
Schema: tchmi:general#/definitions/Boolean
See also
AutoFocusOut
Determines whether the control automatically loses focus when the user confirms or ends his input by
pressing Enter or Escape.
Schema: tchmi:general#/definitions/Boolean
See also
5.10.2.37.2 Events
onFocusIn
The control now has the focus.
onFocusOut
The control has lost focus.
onTextChanged
The text has been changed.
onUserInteractionFinished
The user has finished the interaction with the control.
onUserInteractionCanceled
The user has terminated the interaction with the control element.
Attributes
Category: Colors
Name Description
TextColor [} 602] Definition of the text color
DropDownTextColor [} 599] Definition of the text color in the drop-down list
DropDownBackgroundColor [} 596] Definition of the background color of the drop-down
list
DropDownHighlightColor [} 598] Definition of the highlight color of the background of a
selected entry in the drop-down list
DropDownHighlightTextColor [} 598] Definition of the highlight color of the text of a
selected entry in the drop-down list
DropDownToggleButtonBackgroundColor [} 599] Definition of the color of the button to expand the
drop-down list
DropDownToggleButtonArrowColor [} 599] Definition of the color of the arrow of the button to
expand the drop-down list
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
TextFontFamily [} 600] Definition of the font using the name of the font family
or the keyword
TextFontSize [} 601] Definition of the font size
TextFontSizeUnit [} 601] Selecting the font size unit
• Pixels for an absolute size
• Percent for a relative size
TextFontStyle [} 601] Selecting the font style:
• Normal
• Italic
• Oblique
TextFontWeight [} 602] Selecting the font weight
• Normal
• Bold
TextHorizontalAlignment [} 602] Selecting the horizontal alignment of the text
ContentPadding [} 603] Definition of the distance of the text to the border
Category: DropDown
Name Description
DropDownHorizontalAlignment [} 598] Selecting the horizontal alignment of the text in the
drop-down list
DropDownVerticalAlignment [} 600] Selecting the vertical alignment of the text in the
drop-down list
DataHeight [} 596] Definition of the height of the entries in the drop-down
menu
MaxListHeight [} 602] Definition of the maximum height of the drop-down
list
DropDownFontFamily [} 596] Definition of the font of the list items via the name of
the font family or the keyword
DropDownFontSize [} 597] Definition of the font size of the list items
DropDownFontSizeUnit [} 597] Selecting the font size unit
• Pixels for an absolute size
• Percent for a relative size
DropDownFontStyle [} 597] Selecting the font style:
• Normal
• Italic
• Oblique
DropDownFontWeight [} 598] Selecting the font weight of the text entries:
• Normal
• Bold
DropDownStyle [} 600] Defines the position of the drop-down menu
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
ThemeSelect
See also
5.10.2.38.1 Attributes
DataHeight
Schema: tchmi:framework#/definitions/MeasurementValue
See also
DropDownBackgroundColor
Schema: tchmi:framework#/definitions/Color
See also
DropDownFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
DropDownFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
DropDownFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
DropDownFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
DropDownFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
DropDownHighlightColor
Schema: tchmi:framework#/definitions/SolidColor
See also
DropDownHighlightTextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
DropDownHorizontalAlignment
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
DropDownTextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
DropDownToggleButtonArrowColor
Schema: tchmi:framework#/definitions/SolidColor
See also
DropDownToggleButtonBackgroundColor
Schema: tchmi:framework#/definitions/Color
See also
DropDownVerticalAlignment
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
DropDownStyle
Defines the position of the drop-down menu.
• "Desktop" is the classic representation at the position of the control.
• "Mobile" is the representation in the middle of an overlay in the screen, which is separated from the
background.
See also
TextFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
TextFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
TextHorizontalAlignment
Horizontal alignment of the text.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
MaxListHeight
Defines the height of the combo box.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextColor
Schema: tchmi:framework#/definitions/SolidColor
See also
ContentPadding
Defines the distance of the text to the border.
Schema: tchmi:framework#/definitions/Padding
See also
Attributes
Category: Colors
Name Description
ValueColor [} 609] Definition of the text color
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Value [} 609] Definition of the value
AutoFocusOut [} 612] Determines whether the control automatically loses
focus when the user confirms or ends his input by
pressing Enter or Escape.
AutoSelectText [} 612] Determines whether the Control automatically selects
the entire text when it is focused.
ResetToLastValidValue [} 612] Determines whether the value is reset to the last valid
value when focus is lost.
ButtonPosition [} 613] The position of the button relative to the display.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Value
Name Description
ValueFontFamily [} 609] Definition of the font using the name of the font family
or the keyword
ValueFontSize [} 610] Definition of the font size
ValueFontSizeUnit [} 610] Definition of the font size unit:
• Pixels for an absolute size
• Percent for a relative size
ValueFontStyle [} 610] Selecting the font style:
• Normal
• Italic
• Oblique
ValueFontWeight [} 611] Selecting the font weight of the text:
• Normal
• Bold
ContentPadding [} 611] Definition of the distance of the text to the border
ValueHorizontalAlignment [} 611] Selecting the horizontal alignment of the text
Placeholder [} 611] Definition of the placeholder, which is displayed if no
value is entered.
Events
Category: Control
Name Description
onValueChanged [} 613] The value has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onUserInteractionFinished [} 614] The user has finished the interaction with the control.
onFocusIn [} 613] The control now has the focus.
onFocusOut [} 613] The control has lost focus.
onUserInteractionCanceled [} 614] The user has terminated the interaction with the
control element.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Timespan Input
See also
5.10.2.39.1 Attribute
ValueColor
Color of the value.
Schema: tchmi:framework#/definitions/SolidColor
See also
Value
Value of the control.
Schema: tchmi:general#/definitions/Timespan
See also
ValueFontFamily
Comma-separated list of fonts as font family or keyword: 'serif', 'sans-serif', 'monospace'.
Schema: tchmi:framework#/definitions/FontFamily
See also
ValueFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
ValueFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
ValueFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
ValueFontWeight
Font weight (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
ValueHorizontalAlignment
Horizontal alignment of the text.
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
ContentPadding
Defines the distance of the text to the border.
Schema: tchmi:framework#/definitions/Padding
See also
Placeholder
Placeholder which is displayed if no text is entered.
Schema: tchmi:general#/definitions/String
See also
AutoFocusOut
Determines whether the control automatically loses focus when the user confirms or ends his input by
pressing Enter or Escape.
Schema: tchmi:general#/definitions/Boolean
See also
AutoSelectText
Determines whether the Control automatically selects the entire text when it is focused.
Schema: tchmi:general#/definitions/Boolean
See also
ResetToLastValidValue
Determines whether the value is reset to the last valid value when focus is lost.
Schema: tchmi:general#/definitions/Boolean
See also
ButtonPosition
The position of the button relative to the display.
Schema: tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiTimespanInput.ButtonPosition
See also
5.10.2.39.2 Events
onFocusIn
The control now has the focus.
onFocusOut
The control has lost focus.
onValueChanged
The value has been changed.
onUserInteractionFinished
The user has finished the interaction with the control.
onUserInteractionCanceled
The user has terminated the interaction with the control element.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Value [} 619] Value of the control defined as ISO timespan.
DirectDisplay [} 619] Determines whether the control is displayed directly
in the View or used as a pop-up. The pop-up opens
by the function openTimespanPicker [} 621] and
closes by the function closeTimespanPicker [} 621].
ShowConfirmationButtons [} 620] Determines whether the input into the control must be
confirmed.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Category: Control
Name Description
onCancel [} 620] The input was canceled.
onConfirmed [} 620] The input was confirmed.
onUserInteractionFinished [} 621] The user has finished the interaction with the control.
onValueChanged [} 620] The value has been changed.
Functions
Name Origin Description
openTimespanPicker [} 621] TcHmiTimespanPicker Opens the Timespan Picker
closeTimespanPicker [} 621] TcHmiTimespanPicker Closes the Timespan Picker
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Timespan Picker
See also
5.10.2.40.1 Attributes
Value
Value of the control defined as ISO timespan.
Schema: tchmi:general#/definitions/TimeSpan
See also
DirectDisplay
Determines whether the control is displayed directly in the View or used as a pop-up. The pop-up opens by
the function openTimespanPicker [} 621] and closes by the function closeTimespanPicker [} 621].
Schema: tchmi:general#/definitions/Boolean
See also
ShowConfirmationButtons
Determines whether the input into the control must be confirmed.
Schema: tchmi:general#/definitions/Boolean
See also
5.10.2.40.2 Events
onValueChanged
The value has been changed.
onCancel
The input was canceled.
onConfirmed
The input was confirmed.
onUserInteractionFinished
The user has finished the interaction with the control.
5.10.2.40.3 Functions
openTimespanPicker
Opens the Timespan Picker.
closeTimespanPicker
Closes the Timespan Picker.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Text [} 177] Definition of the text displayed in the button
StateSymbol [} 179] Reflects the pressed state of the button for the
assigned symbol and vice versa.
If the button is pressed, the symbol is set to true.
If the button is released, the symbol is set to false.
If the symbol is set to true independent of the button,
the button is pressed.
If the symbol is set to false independent of the button,
the button is released.
During an active user interaction, no value changes
of the symbol are transferred to the button.
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Icon
Name Description
Icon [} 176] Definition of an optional image in the button
IconWidth [} 178] Definition of the width of the icon
IconWidthUnit [} 178] Definition of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
IconHeight [} 175] Definition of the height of the icon
IconHeightUnit [} 176] Definition of the unit of height:
• Pixels for an absolute height
• Percent for a relative height
IconHorizontalAlignment [} 176] Selecting the horizontal alignment of the icon within
the control
IconVerticalAlignment [} 178] Selecting the vertical alignment of the icon within the
control
IconPadding [} 177] Definition of the distance of the icon to the border
Category: Text
Name Description
TextColor [} 177] Definition of the text color
TextFontFamily [} 174] Definition of the font using the name of the font family
or the keyword
TextFontSize [} 174] Definition of the font size
TextFontSizeUnit [} 175] Definition of the font size unit:
• Pixels for an absolute size
• Percent for a relative size
TextFontStyle [} 175] Selecting the font style:
• Normal
• Italic: italic
• Oblique: slanted
TextFontWeight [} 175] Selecting the font weight of the text:
• Normal
• Bold: Bold
TextPadding [} 177] Definition of the distance of the text to the border
TextVerticalAlignment [} 178] Selecting the vertical alignment of the text
TextHorizontalAlignment [} 176] Selecting the horizontal alignment of the text
WordWrap [} 179] Selecting whether the text wraps if it is too long for
one row
Events
Category: Control
Name Description
onToggleStateChanged [} 629] The ToggleState value of the button has changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onToggleStateChanged [} 629] The ToggleState value of the button has changed.
onStateChanged [} 179] The pressed state has changed.
onStatePressed [} 179] The pressed state has changed from not pressed to
pressed.
onStateReleased [} 180] The pressed state has changed from pressed to not
pressed.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Button [} 168]
Toggle Button
See also
5.10.2.41.1 Attributes
ToggleGroup
User-defined name for a group. Only one control in this group can be active. If another button is pressed with
this ToggleGroup, all other buttons are deactivated.
From version 1.10 a ToggleGroup can consist of controls of the type Toggle Button [} 621] and Checkbox.
[} 180]
Please note that this ToggleGroup is global. So if several ToggleButtons are used in one UserControl [} 780]
and this UserControl is used several times, only one ToggleButton is active. If one ToggleButton should be
active per UserControl in this constellation, the attribute of the buttons can be set via one UserControl
parameter [} 44] per instance of the UserControl. A binding from the UserControlParameter to all
ToggleButtons must then be set manually within the UserControl.
Schema: tchmi:general#/definitions/String
See also
ToggleState
Internal state of the control. This can be Normal or Active.
Schema: tchmi:framework#/definitions/ToggleState
See also
5.10.2.41.2 Events
onToggleStateChanged
The ToggleState [} 628] value of the button has changed.
The .onToggleStateChanged event can be used to perform actions when the state of the checkbox changes.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
ToggleStateIconColor [} 187] Definition of the color of the toggle state icon.
TextColor [} 189] Definition of the text color.
TextBackgroundColor [} 189] Definition of the text background color.
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
StateSymbol [} 186] Reflects the state of the checkbox to the assigned
symbol and vice versa.
ToggleState [} 186] Definition of the internal switching state of the control
ToggleGroup [} 186] User-defined name for a group. Only one control in
this group can be active.
Text [} 187] The text to be displayed next to the checkbox.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
TextPosition [} 187] The text position.
TextHorizontalAlignment [} 187] The horizontal alignment of the text.
TextVerticalAlignment [} 188] The vertical alignment of the text.
TextFontFamily [} 188] Comma-separated list of fonts as font family or
keyword: 'serif', 'sans-serif', 'monospace'.
TextFontSize [} 188] The font size. If the percent is specified as the unit,
this is relative to the font size of the parent element.
TextFontSizeUnit [} 188] Pixels, or percent for relative sizes.
TextFontStyle [} 189] Font style (normal, italic: oblique with special
characters, oblique)
TextFontWeight [} 189] The font weight (normal, bold)
Events
Category: Control
Name Description
onToggleStateChanged [} 190] The ToggleState value of the checkbox has changed.
onStateChanged [} 190] The status of the checkbox has changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Checkbox [} 180]
ToggleSwitch
See also
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
GridBackgroundColor [} 647] Definition of the background color of the coordinate
system
GridLineColor [} 647] Definition of the color of the coordinate grid
SubgridLineColor [} 654] Definition of the color of the coordinate subgrid
XLabelFontColor [} 661] Definition of the font color of the x-axis labels
XAxisColor [} 658] Definition of the color of the x-axis
XAxisNameFontColor [} 659] Definition of the font color of the X-axis name
MenuBarLabelFontColor [} 649] Definition of the font color of the menu bar
SectionsBackgroundColor [} 652] Definition of the background color of the control
TooltipFontColor [} 656] Definition of the color of the tooltip
TooltipBackgroundColor [} 656] Definition of the background color of the tooltip
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Start [} 654] Definition of the start time at which the display should
begin
End [} 647] Definition of the end time at which the display should
end
LineGraphDescriptions [} 649] Definition of the historicized variables to be displayed
in the graph and their method of display
ShowLegend [} 665] Selecting whether the legend is to be displayed
Interval [} 649] Definition of the interval at which the data are
updated
MouseMode [} 651] Selection of the mouse mode that is active after
stopping:
• ZoomX: By drawing a rectangle, an area can be
defined in the X direction which is to be zoomed in
on.
• ZoomXY: By drawing a rectangle, an area can be
defined in the X and Y direction which is to be
zoomed in on.
• PanX: The observed area can be shifted in the X
direction in the display area of the graph by drag-
and-drop.
• PanXY: The observed area can be shifted in the X
and Y direction in the display area of the graph by
drag-and-drop.
ServerDomain [} 665] Definition of the server extension name.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Name Description
BackgroundImage [} 705] Definition of an image that is located above the
background color
BackgroundImageHeight [} 706] Definition of the height of the background image
BackgroundImageHeightUnit [} 706] Selection of the unit of the height of the background
image:
• Pixels for an absolute height
• Percent for a relative height
BackgroundImageWidth [} 705] Definition of the width of the background image
BackgroundImageWidthUnit [} 705] Selection of the unit of the width of the background
image:
• Pixels for an absolute width
• Percent for a relative width
BackgroundImagePadding [} 706] Definition of an additional distance between the
border of the control and background image for the
four sides
BackgroundImageVerticalAlignment [} 707] Definition of the vertical alignment of the background
image within the control
BackgroundImageHorizontalAlignment [} 706] Definition of the horizontal alignment of the
background image within the control
Category: XAxis
Name Description
ShowXAxis [} 653] Selecting whether the X-axis is to be displayed
XShowLabels [} 662] Selecting whether the X-axis labels are to be
displayed
XMainTickSteps [} 662] Definition of the number of main X-axis subdivisions
ShowXSubTicks [} 653] Selecting whether the auxiliary X-axis subdivisions
are to be displayed
XSubTickSteps [} 663] Definition of the number of auxiliary X-axis
subdivisions
ShowXAxisName [} 653] Selecting whether the X-axis name is to be displayed
XAxisName [} 659] Definition of the X-axis name
XLabelFontFamily [} 661] Definition of the font using the name of the font family
or the keyword
XLabelFontSize [} 661] Definition of the font size for the X-axis labels
XLabelFontSizeUnit [} 662] Selecting the font size unit for the X-axis labels:
• Pixels for an absolute size
Percent for a relative size
XLabelFontWeight [} 662] Selecting the font weight of the X-axis labels:
• Normal
• Bold
XAxisWidth [} 660] Definition of the X-axis width
XAxisNameFontFamily [} 659] Definition of the font using the name of the font family
or the keyword
XAxisNameFontSize [} 660] Definition of the font size of the X-axis name
XAxisNameFontSizeUnit [} 660] Selecting the font size unit for the X-axis labels:
• Pixels for an absolute size
Percent for a relative size
XAxisNameFontWeight [} 660] Selecting of the font weight of the X-axis name:
• Normal
• Bold
XAxisFormat [} 658] Definition of the formatting of the X-axis labels
Category: YAxis
Name Description
YAxis [} 663] Definition of one or more Y-axes
ShowYSubTicks [} 653] Selecting whether the auxiliary subdivisions on the Y-
axis are to be displayed
YAxisWidth [} 663] Definition of the Y-axis width
YLabelFontFamily [} 663] Definition of the font using the name of the font family
or the keyword
YLabelFontSize [} 664] Definition of the font size for the Y-axis labels
YLabelFontSizeUnit [} 664] Selecting the font size unit for the Y-axis labels:
• Pixels for an absolute size
• Percent for a relative size
YLabelFontWeight [} 664] Selecting the font weight of the Y-axis labels:
• Normal
• Bold: bold
YMainTickSteps [} 664] Definition of the number of main Y-axis subdivisions
YSubTickSteps [} 665] Definition of the number of auxiliary Y-axis
subdivisions
Category: Grid
Name Description
ShowGrid [} 652] Selecting whether the coordinate grid is to be
displayed.
GridLineStyle [} 648] Definition of the line style for the coordinate grid.
GridLineWidth [} 648] Definition of the line width of the coordinate grid.
GridShowHorizontalLines [} 648] Selecting whether the horizontal lines of the
coordinate grid are to be displayed.
GridShowVerticalLines [} 648] Selecting whether the vertical lines of the coordinate
grid are to be displayed.
Category: Subgrid
Name Description
SubgridLineStyle [} 654] Definition of the line style for the subgrid.
SubridLineWidth [} 655] Definition of the line width of the subgrid.
SubgridShowHorizontalLines [} 655] Selecting whether the horizontal lines of the subgrid
are to be displayed.
SubgridShowVerticalLines [} 655] Selecting whether the vertical lines of the subgrid are
to be displayed.
Category: Menubar
Name Description
ShowMenuBar [} 652] Selection of whether the menu bar is to be displayed
MenuBarPosition [} 651] Selection of the position of the menu bar:
• Bottom: Underside
• Top: Top side
MenuBarLabelFontFamily [} 650] Definition of the font using the name of the font family
or the keyword
MenuBarLabelFontSize [} 650] Definition of the font size
MenuBarLabelFontStyle [} 650] Selecting the font style:
• Normal
• Italic: italic
• Oblique: slanted
MenuBarLabelFontWeight [} 651] Selecting the font weight:
• Normal
• Bold: Bold
Category: Tooltip
Name Description
ShowTooltip [} 652] Selecting whether the tooltips should be displayed in
stop mode
TooltipFormat [} 657] • Definition of the formatting of the tooltips.
TooltipFontFamily [} 656] Definition of the font using the name of the font family
or the keyword
TooltipFontSize [} 656] Definition of the font size
TooltipFontWeight [} 657] Selecting the font weight:
• Normal
• Bold: Bold
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Functions
Name Description
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
See also
5.10.2.43.1 Configuration
A TrendLineChart can be configured as follows:
1. Define the Y-axes of the coordinate system with the help of the dialog "YAxis Definitions" of the attribute
"YAxis [} 663]".
1.1. Define the desired number of Y-axes to which the symbols in the following are to be assigned.
2. Define the variables to be displayed in the trend element using the attribute "LineGraphDescriptions
[} 649]" from the "Common" category.
It is only possible to select variables for which historization has been activated beforehand.
2.3. Under "Y-Axis ID", select the Y-axis to which the symbol is to be assigned. If you don't select a Y-axis,
an automatically scaling Y-axis bearing the name of the symbol will be generated.
3. Adapt the start [} 654] and end [} 647] point of the period to be observed.
3.1. Set the value of the attribute "Start [} 654]" of the category "Common" to "PT10M".
4. Adapt the X-axis scaling by setting the attribute "XMainTickSteps [} 662]" of the category "X-Axis" to "5".
5.10.2.43.2 Dialogs
LineGraphDescription dialog
The settings of the graphs and their assignment to the individual symbols that are to be displayed in the
TrendLineChart can be changed with this dialog.
5.10.2.43.3 Attributes
ActualEndTime
Actual end time (read-only).
Schema: tchmi:general#/definitions/DateTime
See also
ActualStartTime
Actual start point (read-only).
Schema: tchmi:general#/definitions/DateTime
See also
End
Definition of the end time at which the display should end.
See also
GridBackgroundColor
Definition of the background color of the coordinate system.
Schema: tchmi:framework#/definitions/Color
See also
GridLineColor
Definition of the color of the coordinate grid.
Schema: tchmi:framework#/definitions/SolidColor
See also
GridLineStyle
Schema (version 1.10): tchmi:framework#/definitions/ChartLineStyle
See also
GridLineWidth
Definition of the line width of the coordinate grid.
Schema: tchmi:general#/definitions/Number
See also
GridShowHorizontalLines
Selecting whether the horizontal lines of the coordinate grid are to be displayed. The number of horizontal
grid lines is defined by the attribute YMainTickSteps [} 664].
Schema: tchmi:general#/definitions/Boolean
See also
GridShowVerticalLines
Selecting whether the vertical lines of the coordinate grid are to be displayed. The number of vertical grid
lines is defined by the attribute XMainTickSteps [} 662].
Schema: tchmi:general#/definitions/Boolean
See also
Interval
Definition of the interval at which the data are updated.
Schema: tchmi:general#/definitions/Number
See also
LineGraphDescription
Definition of the historicized variables to be displayed in the graph and their method of display.
See also
MenuBarLabelFontColor
Definition of the font color of the menu bar.
Schema: tchmi:framework#/definitions/SolidColor
See also
MenuBarLabelFontFamily
Definition of the font using the name of the font family or the keyword.
Schema: tchmi:framework#/definitions/FontFamily
See also
MenuBarLabelFontSize
Definition of the font size.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
MenuBarLabelFontSizeUnit
Selection of the unit of the font size in the menu bar (pixel or percent).
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
MenuBarLabelFontStyle
Font style (normal, italic: oblique with special characters, oblique)
Schema: tchmi:framework#/definitions/FontStyle
See also
MenuBarLabelFontWeight
Selection of the font weight for the menu bar (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
MenuBarPosition
Selection of the position of the menu bar (Bottom, Top).
See also
MouseMode
Selection of the mouse mode that is active after stopping.
• ZoomX: By drawing a rectangle, an area can be defined in the X direction which is to be zoomed in on.
• ZoomXY: By drawing a rectangle, an area can be defined in the X and Y direction which is to be
zoomed in on.
• PanX: The observed area can be shifted in the X direction in the display area of the graph by drag-and-
drop.
• PanXY: The observed area can be shifted in the X and Y direction in the display area of the graph by
drag-and-drop.
See also
SectionsBackgroundColor
Definition of the background color of the control.
Schema: tchmi:framework#/definitions/Color
See also
ShowGrid
Selecting whether the coordinate grid is to be displayed.
Schema: tchmi:general#/definitions/Boolean
See also
ShowMenubar
Selection of whether the menu bar is to be displayed.
Schema: tchmi:general#/definitions/Boolean
See also
ShowTooltip
Selecting whether the tooltips should be displayed in stop mode.
Schema: tchmi:general#/definitions/Boolean
See also
ShowXAxis
Selecting whether the X-axis is to be displayed.
Schema: tchmi:general#/definitions/Boolean
See also
ShowXAxisName
Selecting whether the X-axis name is to be displayed.
Schema: tchmi:general#/definitions/Boolean
See also
ShowXSubTicks
Selecting whether the auxiliary X-axis subdivisions are to be displayed.
Schema: tchmi:general#/definitions/Boolean
See also
ShowYSubTicks
Selecting whether the auxiliary subdivisions on the Y-axis are to be displayed.
Schema: tchmi:general#/definitions/Boolean
See also
Start
Definition of the start time at which the display should begin.
See also
SubgridLineColor
Definition of the color of the coordinate subgrid.
Schema: tchmi:framework#/definitions/SolidColor
See also
SubgridLineStyle
Schema (version 1.10): tchmi:framework#/definitions/ChartLineStyle
See also
SubgridLineWidth
Definition of the line width of the subgrid.
Schema: tchmi:general#/definitions/Number
See also
SubgridShowHorizontalLines
Selecting whether the horizontal lines of the subgrid are to be displayed. The number of horizontal auxiliary
coordinate lines is defined by the attribute YSubTickSteps.
Schema: tchmi:general#/definitions/Boolean
See also
SubgridShowVerticalLines
Selecting whether the vertical lines of the subgrid are to be displayed. The number of vertical auxiliary
coordinate lines is defined by the attribute XSubTickSteps [} 663].
Schema: tchmi:general#/definitions/Boolean
See also
TooltipBackgroundColor
Definition of the background color of the coordinate system.
Schema: tchmi:framework#/definitions/Color
See also
TooltipFontColor
Definition of the font color of the tooltip.
Schema: tchmi:framework#/definitions/SolidColor
See also
TooltipFontFamily
Definition of the font using the name of the font family or the keyword.
Schema: tchmi:framework#/definitions/FontFamily
See also
TooltipFontSize
Definition of the font size.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TooltipFontSizeUnit
Selecting the unit of the font size in the tooltips (pixel or percent).
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TooltipFontWeight
Selecting the font weight for the tooltips (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
TooltipFormat
Definition of the formatting of the tooltips.
Schema: tchmi:framework#/definitions/Function
The selected function defines the tooltip display. It is called as soon as the mouse cursor is positioned on a
point and/or an error. In addition, it contains the current time stamp of the mouse, which is specified in
milliseconds, a list of points and a list of errors. The respective list is empty if there are no points or errors at
this position.
A function must fulfill the following signature in order to be offered in the engineering. The parameters
mentioned here are set by the control. Further parameters are possible and can be specified per instance in
the engineering.
[ Function ]
TooltipFormat(actTime: number, points: TcHmiTrendLineChart.TooltipInformationObject[], errors:
TcHmiTrendLineChart.TooltipErrorInformationObject[]): string;
Parameter
Name Type Description
actTime number The current time stamp of the
mouse position in milliseconds
since 01/01/1970.
points TcHmiTrendLineChart.TooltipInfor The recorded points located at the
mationObject[] mouse position (within the point
radius).
errors TcHmiTrendLineChart.TooltipErrorI The recorded errors located at the
nformationObject[] mouse position.
Return value
Type Description
string The tooltip to be displayed. HTML is allowed here.
See also
Attribute getter:getTooltipFormat
Attribute setter:setTooltipFormat
XAxisColor
Definition of the color of the X-axis.
Schema: tchmi:framework#/definitions/SolidColor
See also
XAxisFormat
Schema: tchmi:framework#/definitions/Function
The selected function defines the X-axis labels. It is called for each displayed value of the main X-axis
subdivision. In addition, it contains the respective time stamp, which is specified in milliseconds.
A function must fulfill the following signature in order to be offered in the engineering. The parameters
mentioned here are set by the control. Further parameters are possible and can be specified per instance in
the engineering.
[ Function ]
XAxisFormat(value: number): string;
Parameter
Name Type Description
value number The current numerical value of the
X-axis in milliseconds since
01/01/1970.
Return value
Type Description
string The new value of the main X-axis subdivision. HTML
is not allowed here.
See also
XAxisName
Definition of the X-axis name.
Schema: tchmi:general#/definitions/String
See also
XAxisNameFontColor
Definition of the font color of the X-axis name.
Schema: tchmi:framework#/definitions/SolidColor
See also
XAxisNameFontFamily
Definition of the font using the name of the font family or the keyword.
Schema: tchmi:framework#/definitions/FontFamily
See also
XAxisNameFontSize
Definition of the font size of the X-axis name.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
XAxisNameFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
XAxisNameFontWeight
Selection of the font weight of the X-axis name (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
XAxisWidth
Definition of the axis width.
Schema: tchmi:general#/definitions/Number
See also
XLabelFontColor
Definition of the color of the X-axis labels.
Schema: tchmi:framework#/definitions/SolidColor
See also
XLabelFontFamily
Definition of the font using the name of the font family or the keyword.
Schema: tchmi:framework#/definitions/FontFamily
See also
XLabelFontSize
Definition of the font size for the X-axis labels.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
XLabelFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
XLabelFontWeight
Selection of the font weight of the X-axis labels (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
XMainTickSteps
Definition of the number of main X-axis subdivisions.
Schema: tchmi:general#/definitions/Number
See also
XShowLabels
Selecting whether the X-axis labels are to be displayed
Schema: tchmi:general#/definitions/Boolean
See also
XSubTickSteps
Definition of the number of auxiliary X-axis subdivisions.
Schema: tchmi:general#/definitions/Number
See also
YAxis
Definition of one or more Y-axes.
See also
YAxisWidth
Definition of the Y-axis width.
Schema: tchmi:general#/definitions/Number
See also
YLabelFontFamily
Definition of the font using the name of the font family or the keyword.
Schema: tchmi:framework#/definitions/FontFamily
See also
YLabelFontSize
Definition of the font size for the Y-axis labels.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
YLabelFontSizeUnit
Selection of the unit of the font size of the Y-axis labels (pixel or percent).
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
YLabelFontWeight
Selection of the font weight of the Y-axis labels (normal, bold).
Schema: tchmi:framework#/definitions/FontWeight
See also
YMainTickSteps
Definition of the number of main Y-axis subdivisions.
Schema: tchmi:general#/definitions/Number
See also
YSubTickSteps
Definition of the number of auxiliary Y-axis subdivisions.
Schema: tchmi:general#/definitions/Number
See also
ShowLegend
Selecting whether the legend is to be displayed.
Schema: tchmi:general#/definitions/Boolean
See also
ServerDomain
Definition of the server extension name.
Schema: tchmi:framework#/definitions/FontFamily
See also
YAxisGenerated
This is the axis definition that is used for Y-axes if nothing is defined in the attribute YAxis [} 663].
Schema: tchmi:framework#/definitions/ChartYAxisDefinition
5.10.2.43.5 Functions
pause
Stops the view.
resetZoom
Resets all interactions.
play
Resets the zoom and displays live data again.
Attributes
Category: Colors
Name Description
TextColor [} 673] Definition the text color of the control
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
AllowLogout [} 676] Activates the logout button in the drop-down menu of
the control.
AllowSwitchUser [} 676] Activates the switch user button in the drop-down
menu of the control.
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
TextFontSize [} 673] Definition of the font size
TextFontSizeUnit [} 673] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
UserNameFontSize [} 674] Definition of the font size
UserNameFontSizeUnit [} 674] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
DropDownFontSize [} 674] Definition of the font size
DropDownFontSizeUnit [} 675] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
HeadlineFontSize [} 675] Definition of the font size
HeadlineFontSizeUnit [} 675] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
SubHeadlineFontSize [} 675] Definition of the font size
SubHeadlineFontSizeUnit [} 676] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
UserManagement
See also
5.10.2.44.1 Attributes
TextColor
Defines the color of the font.
Schema: tchmi:framework#/definitions/SolidColor
See also
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
UserNameFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
UserNameFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
DropDownFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
DropDownFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
HeadlineFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
HeadlineFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
SubHeadlineFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
SubHeadlineFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
AllowLogout
Activates the logout button in the drop-down menu of the control.
Schema: tchmi:general#/definitions/Boolean
See also
AllowSwitchUser
Activates the switch user button in the drop-down menu of the control.
Schema: tchmi:general#/definitions/Boolean
See also
5.10.2.45 Video
Video can be played with the video control. The supported video formats are defined by the browser used.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 684] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
upper and lower sides of the parent element. The
'Width' attribute is ignored in all calculations!
• Content: The width is calculated from the height
while maintaining the aspect ratio of the video. If
the attributes 'Width Mode' and 'Height Mode' are
set to Content, the video is drawn in its original
size. The 'Width' attribute is ignored in all
calculations!
HeightMode [} 684] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
upper and lower side of the parent element. The
'Height' attribute is ignored in all calculations!
Name Description
• Content: The height is calculated from the width
while maintaining the aspect ratio of the video. If
the attributes 'Width Mode [} 679]' and 'Height
Mode' are set to Content, the video is drawn in its
original size. The 'Height' attribute is ignored in all
calculations!
OriginalWidth [} 687] Plays back the original width of the video or 0 if it is
not available.
OriginalHeight [} 687] Plays back the original height of the video or 0 if it is
not available.
Category: Common
Name Description
SrcList [} 685] Definition of a list of videos that can be played back
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Name Description
BackgroundImage [} 705] Definition of an image that is located above the
background color
BackgroundImageHeight [} 706] Definition of the height of the background image
BackgroundImageHeightUnit [} 706] Selection of the unit of the height of the background
image:
• Pixels for an absolute height
• Percent for a relative height
BackgroundImageWidth [} 705] Definition of the width of the background image
BackgroundImageWidthUnit [} 705] Selection of the unit of the width of the background
image:
• Pixels for an absolute width
• Percent for a relative width
BackgroundImagePadding [} 706] Definition of an additional distance between the
border of the control and background image for the
four sides
BackgroundImageVerticalAlignment [} 707] Definition of the vertical alignment of the background
image within the control
BackgroundImageHorizontalAlignment [} 706] Definition of the horizontal alignment of the
background image within the control
Category: Video
Name Description
Volume [} 685] Definition of the volume of the video
Mute [} 685] Selecting whether the sound is to be switched off
Playbackrate [} 685] Definition of a playback rate. The normal playback
speed is multiplied by this value to obtain the current
rate.
CurrentTime [} 686] Definition of the current playback time of the video
Duration [} 686] Plays the length of the video in seconds or 0 if it is
not available.
isEnded [} 686] Returns a Boolean value indicating whether playback
has finished or not.
isPlaying [} 686] Returns a Boolean value indicating whether the video
is currently playing or not.
Category: Player
Name Description
Controls [} 687] Selecting whether the integrated control elements are
to be displayed
Autoplay [} 688] Selecting whether the video should be started
automatically
Loop [} 688] Selecting whether the video is to be repeated
automatically on a permanent basis
Poster [} 688] Definition of a startup image to be displayed until the
operator starts or rewinds the video. If nothing is
specified here, nothing is displayed until the first
image of the video has been loaded.
Events
Category: Control
Name Description
onLoadedData [} 689] The video was loaded successfully.
onError [} 689] The video was not loaded successfully.
onVolumeChange [} 689] The volume of the video has been changed.
onDurationChange [} 689] The duration of the video has changed.
onIsEndedChange [} 689] The video was terminated.
onIsPlayingChange [} 689] The video has changed its playback status.
onTimeUpdate [} 689] The playback position has been changed.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Functions
Name Origin Description
play TcHmiVideo Start video
pause TcHmiVideo Pause video
stop TcHmiVideo End video
skipBackward TcHmiVideo Rewind video
skipForward TcHmiVideo Fast forward video
Inheritance hierarchy
Control [} 690]
Video
See also
5.10.2.45.1 Attributes
HeightMode
Selection of the method of calculating the height. The available options are:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the top and bottom side. The Height attribute is
ignored in all calculations!
• Content: The height is calculated from the width while maintaining the aspect ratio of the video. If
Width Mode [} 684] and Height Mode are set to Content, the video is drawn in its original size.
Note: Learn how controls can be positioned and their size defined [} 111].
Scheme: tchmi:framework#/definitions/SizeModeWithContent
See also
WidthMode
Selection of the method of calculating the width. The available options are:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the left and right side. The Width attribute is ignored in
all calculations!
• Content: The width is calculated from the height while maintaining the aspect ratio of the video. If
Width Mode and Height Mode [} 684] are set to Content, the video is drawn in its original size.
Note: Learn how controls can be positioned and their size defined [} 111].
Scheme: tchmi:framework#/definitions/SizeModeWithContent
See also
SrcList
A list of videos that the browser should play.
The videos are not played one after the other, but the browser tries to play each video until it finds a format
that it supports.
If the format type is not set, the browser tries to detect the code itself.
You can check the current status of browser support on the external website http://caniuse.com/.
Scheme: tchmi:framework#/definitions/VideoSourceList
See also
Volume
Volume of the video. The number 0 sets the video to mute while 1 means full volume.
Scheme: tchmi:framework#/definitions/Fraction
See also
Mute
Determines whether the sound is switched off.
Scheme: tchmi:general#/definitions/Boolean
See also
Playbackrate
The normal playback speed is multiplied by this value to obtain the current rate. Thus, the value 1.0
represents the normal speed.
Scheme: tchmi:general#/definitions/Number
See also
isEnded
Returns a Boolean value indicating whether playback has finished or not.
Scheme: tchmi:general#/definitions/Boolean
See also
isPlaying
Returns a Boolean value indicating whether the video is currently playing or not.
Scheme: tchmi:general#/definitions/Boolean
See also
CurrentTime
The current playback time of the video.
Scheme: tchmi:general#/definitions/Number
See also
Duration
Plays the length of the video in seconds or 0 if it is not available.
Scheme: tchmi:general#/definitions/Number
See also
OriginalWidth
Plays back the original width of the video or 0 if it is not available.
Scheme: tchmi:general#/definitions/Number
See also
OriginalHeight
Plays back the original height of the video or 0 if it is not available.
Scheme: tchmi:general#/definitions/Number
See also
Controls
Determines whether control elements are to be displayed. The user can control playback, adjust the volume
and pause/resume the video.
Some browsers do not allow automatic [} 688] or application-based start of a video. You should
therefore carry out intensive tests to determine whether it makes sense to deactivate the control el-
ements.
Scheme: tchmi:general#/definitions/Boolean
See also
Autoplay
Specifies whether the video is to be started directly.
Caution: In some browsers this is not allowed by default. In part this is possible again when the sound is
switched off [} 685].
Scheme: tchmi:general#/definitions/Boolean
See also
Loop
When the video is finished, it starts again from the beginning.
Scheme: tchmi:general#/definitions/Boolean
See also
Poster
A URL representing an individual image that is displayed until the user plays or winds the video.
If this attribute is not set, nothing is displayed until the first video frame is available. From this point in time,
this first frame is used.
Schema: tchmi:general#/definitions/String
See also
5.10.2.45.2 Events
onError
The video was not loaded successfully.
onLoadedData
The video was loaded successfully.
onVolumeChange
The volume [} 685] of the video has been changed.
onDurationChange
The duration of the video [} 686] has changed.
onIsEndedChange
The video was terminated [} 686].
onIsPlayingChange
The video has changed its playback status [} 686].
onTimeUpdate
The playback position [} 686] has been changed.
5.10.3 System
Name Description
Control [} 690] No instance of this class can be created. This page
serves only as a list of the attributes that this class
provides.
Base class of all controls.
Container Control [} 717] No instance of this class can be created. This page
serves only as a list of the attributes that this class
provides.
Base class for all controls that can contain further
controls.
Container [} 723] The container offers the option of grouping other child
controls. All child controls that are added to a
container are defined relative to the position of the
container and are shifted automatically with the
container.
Content [} 728] No instance of this class can be created. This page
serves only as a list of the attributes that this class
provides.
A content is an independent container object that can
be loaded in a region [} 755].
Grid [} 733] Layout grid for controls that can react fluidly and
responsively.
HTML Host [} 744] Container for HTML content. Can be edited in the
HTML editor of the Designer.
Partial [} 750] No instance of this class can be created. This page
serves only as a list of the attributes that this class
provides.
Region [} 755] The region allows you to display a Content control
(and thus a subpage of any complexity).
User Control [} 763] No instance of this class can be created. This page
serves only as a list of the attributes that this class
provides.
A reusable collection of controls.
User Control Host [} 768] No instance of this class can be created. This page
serves only as a list of the attributes that this class
provides.
The user control host is an administration container
for user controls.
View [} 775] No instance of this class can be created. This page
serves only as a list of the attributes that this class
provides.
Top-level control for a TcHmi visualization.
5.10.3.1 Control
No instance of this class can be created. This page serves only as a list of the attributes that this class
provides. It is the base class of all controls.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
IsEnabled [} 696] Selection of whether a control should be activated
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control
See also
5.10.3.1.1 Attributes
Id
Name of the control.
Schema: tchmi:framework#/definitions/Id
See also
IsEnabled
Activation status of a control. Only active controls react to mouse and touch.
Schema: tchmi:general#/definitions/Boolean
See also
ClassNames
Definition of the class(es) of the control. These classes can be addressed within the theme.
Schema: tchmi:framework#/definitions/ClassNameList
See also
IsAttached
Indicates the status regarding whether the control is currently logically integrated inside the DOM.
Schema: tchmi:general#/definitions/Boolean
See also
Left
Definition of the distance from the left side to the left side of the surrounding control. This value may be
empty if Width [} 698] and Right [} 700] are filled out.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
LeftUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
Top
Definition of the distance from the top side to the top side of the surrounding control. This value may be
empty if Height [} 699] and Bottom [} 700] are filled out.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TopUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
Width
External width of the control. Left [} 697] and Right [} 700]are used to calculate the size if this value is
empty. This value is only interpreted if the attribute Width Mode [} 698] has the value Value.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
WidthUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
WidthMode
Selection of the method of calculating the width. The available options are:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the left and right side. The Width attribute is ignored in
all calculations!
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeMode
See also
Height
External height of the control. Top [} 697] and Bottom [} 700] attributes are used to calculate the size if this
value is empty. This value is only interpreted if the attribute Height Mode [} 699] has the value Value.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
HeightUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
HeightMode
Selection of the method of calculating the height. The available options are:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the top and bottom side. The Height attribute is
ignored in all calculations!
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeMode
See also
Right
Definition of the distance from the right side to the right side of the surrounding control. This value is only
used if one of the two attributes Left [} 697] and Width [} 698]is not used.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
RightUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
Bottom
Definition of the distance from the bottom side to the bottom side of the surrounding control. This value is
only used if one of the two attributes Top [} 697] and Height [} 699] is not used.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
BottomUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
RenderedLeft
Returns the calculated distance in pixels between the left side and the left side of the higher-level control.
This value always returns a value, irrespective of the positioning of a control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
RenderedTop
Returns the calculated distance in pixels between the top side and the top side of the higher-level control.
This value always returns a value, irrespective of the positioning of a control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
RenderedBottom
Returns the calculated distance in pixels between the bottom side and the bottom side of the higher-level
control. This value always returns a value, irrespective of the positioning of a control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
RenderedRight
Returns the calculated distance in pixels between the right side and the right side of the higher-level control.
This value always returns a value, irrespective of the positioning of a control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
RenderedWidth
Returns the calculated width of the control in pixels. This value always returns a value, irrespective of the
positioning of a control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
RenderedHeight
Returns the calculated height of the control in pixels. This value always returns a value, irrespective of the
positioning of a control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
GridColumnIndex
Definition of the column of a grid [} 733] in which the control is to be displayed.
Schema: tchmi:general#/definitions/UDINT
See also
GridRowIndex
Definition of the row of a grid [} 733] in which the control is to be displayed.
Schema: tchmi:general#/definitions/UDINT
See also
BorderColor
Border color
A border is only displayed if Border Color, Border Width [} 704] and Border Style [} 704] have been set.
Schema: tchmi:framework#/definitions/Color
See also
BorderWidth
Definition of the border width of the four sides of the control.
A border is only displayed if Border Color [} 703], Border Width and Border Style [} 704] have been set.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/BorderWidth
See also
BorderStyle
Selection of the border style of the four sides of the control. The possible settings are none, solid line, dotted
line or dashed line
A border is only displayed if Border Color, Border Width [} 704] and Border Style have been set.
Schema: tchmi:framework#/definitions/BorderStyle
See also
BorderRadius
Definition of the radius of the four corners of a border to round them off.
Schema: tchmi:framework#/definitions/BorderRadius
See also
BackgroundColor
Definition of the background color. This is displayed if no background image or a transparent background
image is set.
Schema: tchmi:framework#/definitions/Color
See also
BackgroundImage
An image that is above the background color.
Schema: tchmi:framework#/definitions/Path
See also
BackgroundImageWidth
Numerical value of the width of the background image.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
BackgroundImageWidthUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
BackgroundImageHeight
Numerical value of the height of the background image.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
BackgroundImageHeightUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
BackgroundImagePadding
Definition of an additional distance between the border of the control and background image for the four
sides.
Schema: tchmi:framework#/definitions/Padding
See also
BackgroundImageHorizontalAlignment
Definition of the alignment of the background image within the control
Schema: tchmi:framework#/definitions/HorizontalAlignment
See also
BackgroundImageVerticalAlignment
Definition of the alignment of the background image within the control
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
MinHeight
Definition of the minimum height if the control size is defined as dynamic.
Maximum Height [} 708] overwrites the calculated height, but Minimum Height overwrites Maximum Height.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
MinHeightUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
MaxHeight
Definition of the maximum height if the control size is defined as dynamic.
Maximum Height overwrites the calculated height, but Minimum Height [} 707] overwrites Maximum Height.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
MaxHeightUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
MaxWidth
Definition of the maximum width if the control size is defined as dynamic.
Maximum Width overwrites the calculated width, but Minimum Width [} 709] overwrites Maximum Width.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
MaxWidthUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
MinWidth
Definition of the minimum width if the control size is defined as dynamic.
Maximum Width overwrites the calculated width, but Minimum Width [} 708] overwrites Maximum Width.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/MeasurementValue
See also
MinWidthUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
Opacity
Transparency of the entire control.
The number 0 sets the control to fully transparent, while 1 means fully visible.
Schema: tchmi:framework#/definitions/Fraction
See also
Tooltip
Tooltip for the control.
This is displayed for a short time when the mouse is held above a control.
Schema: tchmi:general#/definitions/String
See also
Transform
Transforms a control.
Furthermore, the origin of the transformation and the perspective can be set once.
Schema: tchmi:framework#/definitions/TransformList
See also
Type
Type name of the control.
Note: In versions 1.8 and 1.10, a standard button returned tchmi-button as a result, whereas from
version 1.12, the full qualified name TcHmi.Controls.Beckhoff.TcHmiButton is returned. If you check
for the type in your own source code, you may have to adapt it to the new format.
Schema: tchmi:framework#/definitions/ControlType
See also
Attribute getter:getType
Visibility
Visibility of a control.
• The default value Visible displays the control directly.
• If Hide is set, the control continues to respond to the mouse or touch. It is also involved in the size
calculations with fluid designs.
• If Collapsed is used, the control neither takes up space nor does it receive mouse interaction or touch.
Schema: tchmi:framework#/definitions/Visibility
See also
ZIndex
Definition of the position on the Z-axis.
The following applies: The higher the entry, the more the control is in the foreground. A control with a larger
ZIndex hides a control with a smaller one.
Caution: ZIndex is not easy to understand because the index is not global but in a so-called stacking
context. Each container control [} 717] creates its own stacking context.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:general#/definitions/UDINT
See also
BoxShadow
Definition of a box shadow.
Schema: tchmi:framework#/definitions/BoxShadowList
See also
AccessConfig
Access rights for the Control. For details see also Authorization System/Control Level [} 893].
Schema: tchmi:framework#/definitions/AccessConfig
See also
5.10.3.1.2 Events
onAttached
The control was added to the display.
onDetached
The control was removed from the display.
onInitialized
The control was initialized. Not all of the values of the binding are available yet.
onDestroyed
The control was destroyed.
onMouseClick
The left mouse button was clicked over the control and released.
This event is also triggered by interaction with a touch screen. This can be prevented by enabling
'preventDefault' [} 59] on the corresponding touch event.
onMouseDoubleClick
The left mouse button was clicked twice over the control and released.
onMouseDown
A mouse button was depressed over the control.
This event is also triggered by interaction with a touch screen. This can be prevented by enabling
'preventDefault' [} 59] on the corresponding touch event.
onMouseDownLeft
The left mouse button was depressed over the control.
This event is also triggered by interaction with a touch screen. This can be prevented by enabling
'preventDefault' [} 59] on the corresponding touch event.
onMouseDownRight
The right mouse button was depressed over the control.
onMouseEnter
The mouse pointer was moved over the control.
As opposed to onMouseOver [} 714], this event is called only once on reaching the control, regardless of the
child control.
onMouseLeave
The mouse pointer has left the control.
As opposed to onMouseOut [} 714], this event is called only once on leaving the control, regardless of the
child control.
onMouseMove
The mouse was moved over the control.
onMouseOut
The mouse pointer has left the control or one of its child controls.
onMouseOver [} 714] becomes active on reaching the control or one of its children.
onMouseOver
The mouse pointer was moved over the control or one of its children. The event onMouseEnter [} 713]
observes only the control itself.
onMouseOut [} 714] becomes active on leaving the control or one of its children.
onMouseRightClick
The right mouse button was clicked over the control and released.
onMouseUp
A mouse button was released over the control.
This event is also triggered by interaction with a touch screen. This can be prevented by enabling
'preventDefault' [} 59] on the corresponding touch event.
onMouseUpLeft
The left mouse button was released over the control.
This event is also triggered by interaction with a touch screen. This can be prevented by enabling
'preventDefault' [} 59] on the corresponding touch event.
onMouseUpRight
The right mouse button was released over the control.
onMouseWheel
The mouse wheel was moved over the control.
onMoved
The control was moved in relation to the browser window.
onPressed
A mouse click was executed or a touch screen was briefly touched.
onResized
The size of the control was changed.
onTouchCancel
An interaction with a touch screen was aborted.
onTouchEnd
A finger/stylus was lifted off a touch screen.
onTouchMove
A finger/stylus was moved on a touch screen.
onTouchStart
A finger/stylus was placed against a touch screen.
5.10.3.1.3 Permissions
observe
Determines whether the control is generally observable.
See also
operate
Determines whether the control is generally operable.
If the main function of a control is the interaction (e.g. button [} 168]), a light-colored overlay is drawn if the
right is missing.
See also
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 722] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
• Content: The height is defined by the width of the
content. The "Width" attribute is ignored in all
calculations!
HeightMode [} 722] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Name Description
• Content: The height is defined by the height of the
content. The "Height" attribute is ignored in all
calculations!
Category: Common
Name Description
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
IsEnabled [} 722] Selection of whether the control is enabled
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Container Control
See also
5.10.3.2.1 Attributes
HeightMode
Selection of the method of calculating the height. The available options are:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the top and bottom side. The Height attribute is
ignored in all calculations!
• Content: The width is defined by the children of the control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeModeWithContent
See also
IsEnabled
Activation status of a control. This overwrites the status of the child control. Only active controls react to
mouse and touch
Schema: tchmi:general#/definitions/Boolean
See also
WidthMode
Selection of the method of calculating the width. The available options are:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the left and right side. The Width attribute is ignored in
all calculations!
• Content: The width is defined by the children of the control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeModeWithContent
See also
5.10.3.3 Container
The container offers the option of grouping other child controls. All child controls that are added to a
container are defined relative to the position of the container and are shifted automatically with the container.
The container can also be used for the subdivision and arrangement, for example a view or a content.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 722] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
• Content: The height is defined by the width of the
content. The "Width" attribute is ignored in all
calculations!
HeightMode [} 722] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Name Description
• Content: The height is defined by the height of the
content. The "Height" attribute is ignored in all
calculations!
Category: Common
Name Description
IsEnabled [} 722] Selection of whether the control is enabled
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Container
See also
5.10.3.4 Content
A content is an independent container object that can be loaded in a region [} 755]. A content can be used,
for example, to subdivide operating concepts into various contents. It is created under the TcHmi project tree
with the context menu Add new Item…
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 722] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
• Content: The height is defined by the width of the
content. The "Width" attribute is ignored in all
calculations!
HeightMode [} 722] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Name Description
• Content: The height is defined by the height of the
content. The "Height" attribute is ignored in all
calculations!
Category: Common
Name Description
IsEnabled [} 722] Selection of whether the control is enabled
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Partial [} 750]
Content
See also
5.10.3.5 Grid
The grid is a layout grid that can be used for the development of fluid and responsive designs. With the help
of the grid, parts of the page or the entire page can be divided into various cells. On the basis of the cells you
can then design the page by adding controls to the various cells and defining the behavior of the cells when
changing the browser size. The grid offers a great many different configuration options. You can find the
description of an example configuration in the chapter Configuration [} 738].
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 744] Selection of the method of calculating the width
HeightMode [} 743] Selection of the method of calculating the height
Category: Common
Name Description
ColumnOptions [} 743] Definition of the columns
RowOptions [} 744] Definition of the rows
CellOptions [} 742] Definition of the cells
CellWrap [} 742] Selection of whether the cells should wrap within the
row
IsEnabled [} 722] Selection of whether the control is enabled
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Grid
See also
5.10.3.5.1 Configuration
A grid control can be configured in different ways. An example configuration of the Desktop.view together
with a grid control is explained below. Prior to this you should read the chapter on Positioning and calculation
of the size of controls [} 111] as the basis for this example.
The Desktop.view has a fixed size as a default setting. If the browser size changes, therefore, the
Desktop.view and its contents do not adapt themselves. In the following steps the view will be adjusted so
that it changes its size dynamically with the browser size.
With this setting the size of the view adapts itself automatically to the size of the browser. The viewport of the
graphic editor can now be used to simulate a desired browser size and test the effect on the visualization.
6. Change the following attributes: Left = 20 px, Top = 100 px, Right = 20 px.
With these settings the size of the grid control adapts itself to the size of the parent element accordingly. In
this case the parent element is the Desktop.view.
8. Insert a second column with the help of the "Column Options [} 741]" dialog.
10. Change the position of both controls to: Left = 120, Top = 140
With these settings the right-hand cell will be shifted automatically to the row below if there is insufficient
space in the browser to display both side by side. You can test this function by changing the width of the
integrated LiveView [} 72] window or the browser instance. So far the grid has not adapted itself
automatically in height. The consequence of this is that only half of each of the two text blocks is displayed if
the right-hand cell is displayed in the second row.
11. Select the "Content" mode in the "Height Mode" attribute of the grid control.
12. Also select the "Content" mode in the "Height Mode" attribute of the view.
With these settings not only will the grid be enlarged according to its contents, but also the view. In this way
you can ensure that all contents are displayed so as to be reachable if the right-hand cell jumps to the row
below. In order to be able to distinguish better between the two cells, their background colors will be set in
the following.
13. Insert two cells with the help of the "Cell Options [} 739]" dialog.
14. Change the first cell option to: Background Color = #FFCA0000, Column Index = 0, Row Index = 0
15. Change the second cell option to: Background Color = #FFFFFF00, Column Index = 1, Row Index = 0
At the moment, both cells close and thus the entire row are bordering the lowermost control. In the row
settings, for example, a minimum row height can be specified.
16. Change the "Row Min Height" attribute of the row option to 300 px with the help of the "Row Options
[} 741]" dialog.
If the browser height is larger than the grid, a white border will be displayed at the moment. To make sure
that the visu completely fills the browser with each browser size, the following step must be carried out.
In summary, you have created your first visualization with the help of the grid control according to the
responsive design approach. This visualization fills the entire browser regardless of the browser size. If
insufficient width is available, the content of the second column is automatically displayed in the row below. If
on the other hand the height is insufficient, it will be expanded automatically according to the content to be
displayed.
5.10.3.5.2 Dialogs
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
BorderColor [} 703] Definition of the border color of the control
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Name Description
BackgroundImage [} 705] Definition of an image that is located above the
background color
BackgroundImageHeight [} 706] Definition of the height of the background image
BackgroundImageHeightUnit [} 706] Selection of the unit of the height of the background
image:
• Pixels for an absolute height
• Percent for a relative height
BackgroundImageWidth [} 705] Definition of the width of the background image
BackgroundImageWidthUnit [} 705] Selection of the unit of the width of the background
image:
• Pixels for an absolute width
• Percent for a relative width
BackgroundImagePadding [} 706] Definition of an additional distance between the
border of the control and background image for the
four sides
BackgroundImageVerticalAlignment [} 707] Definition of the vertical alignment of the background
image within the control
BackgroundImageHorizontalAlignment [} 706] Definition of the horizontal alignment of the
background image within the control
BackgroundImageWidth [} 705] Definition of the width of the background image
BackgroundImageWidthUnit [} 705] Selection of the unit of the width of the background
image:
• Pixels for an absolute width
• Percent for a relative width
BackgroundImageHeight [} 706] Definition of the height of the background image
BackgroundImageHeightUnit [} 706] Selection of the unit of the height of the background
image:
• Pixels for an absolute height
• Percent for a relative height
BackgroundImageHorizontalAlignment [} 706] Definition of the horizontal alignment of the
background image within the control
BackgroundImageVerticalAlignment [} 707] Definition of the vertical alignment of the background
image within the control
BackgroundImagePadding [} 706] Definition of an additional distance between the
border of the control and background image for the
four sides
Category: Border
Name Description
Border Width Definition of the border width of the four sides of the
cell
Border Style Selection of the border style of the four sides of the
cell
Category: Layout
Name Description
Grid Column Index Definition of the column of a grid that is to be defined
by the cell option
Grid Row Index Definition of the row of a grid that is to be defined by
the cell option
Padding Definition of an additional distance between the cell
border and the controls added to the cell for the four
sides
Category: Layout
Name Description
Column Width Definition of the column width
WidthMode [} 744] Selection of the method of calculating the width
HeightMode [} 743] Selection of the method of calculating the height
Column Max Width Definition of the maximum column width
Column Min Width Definition of the minimum column width
Overflow Selection of whether controls that have been added
to the row but placed outside the row area should be
displayed
Category: Layout
Name Description
Row Height Definition of the row height
HeightMode [} 743] Selection of the method of calculating the height
Row Max Height Definition of the maximum row height
Row Min Height Definition of the minimum row height
Overflow Selection of whether controls that have been added
to the row but placed outside the row area should be
displayed
5.10.3.5.3 Attributes
CellOptions
Definition for the cells.
Here you can define a specific feature for each cell. In each definition a row and column index defines which
cell is to be addressed.
See also
CellWrap
Determines whether the cells should wrap within the row.
Schema: tchmi:general#/definitions/Boolean
See also
ColumnOptions
Definition for the columns and thus their number.
Note: Learn how controls can be positioned and their size defined [} 111].
See also
HeightMode
Selection of the method of calculating the height. The available options are:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the top and bottom side. The Height attribute is
ignored in all calculations!
• Content: The width is defined by the children of the control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeModeWithContent
See also
RowOptions
Definition for the rows and thus their number.
Note: Learn how controls can be positioned and their size defined [} 111].
See also
WidthMode
Selection of the method of calculating the width. The available options are:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the left and right side. The Width attribute is ignored in
all calculations!
• Content: The width is defined by the children of the control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeModeWithContent
See also
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
HTML Host
See also
5.10.3.7 Partial
No instance of this class can be created. This page serves only as a list of the attributes that this class
provides. It is the base class for some system controls.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 722] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
• Content: The height is defined by the width of the
content. The "Width" attribute is ignored in all
calculations!
HeightMode [} 722] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Name Description
• Content: The height is defined by the height of the
content. The "Height" attribute is ignored in all
calculations!
Category: Common
Name Description
IsEnabled [} 722] Selection of whether the control is enabled
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Partial
See also
5.10.3.8 Region
The region allows to display a Content [} 728] (and thus a subpage of any complexity). The content to be
displayed can be defined using the Target Content attribute. Thus, the displayed subpage can be changed at
runtime.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 761] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side. The "Width" attribute is ignored
in all calculations!
• Content: The width is defined by the children of the
content control. The "Width" attribute is ignored in
all calculations!
HeightMode [} 761] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Name Description
• Content: The height is defined by the children of
the content control. The "Height" attribute is
ignored in all calculations!
Category: Common
Name Description
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
TargetContent [} 761] Definition of the path to the content control that is to
be displayed
CurrentContent [} 762] Current content control object for this region.
ScaleMode [} 762] Selection of the scaling of the content that is
displayed in the region:
• None: No scaling of the content
• ScaleToFill: The content is displayed over the
entire size of the control. The proportions are
thereby ignored.
• ScaleToFit: The content is displayed as large as
possible without extending beyond the edges of
the control. The proportions are retained.
• ScaleToFitWidth: The content is displayed over the
entire width of the control. The proportions are
retained.
• ScaleToFitHeight: The content is displayed over
the entire height of the control. The proportions are
retained.
Scrolling [} 762] Selection of the scrolling behavior of the content:
• No
• Yes
• Auto
A browser has to be used to test the scrolling.
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Name Description
BackgroundImage [} 705] Definition of an image that is located above the
background color
BackgroundImageHeight [} 706] Definition of the height of the background image
BackgroundImageHeightUnit [} 706] Selection of the unit of the height of the background
image:
• Pixels for an absolute height
• Percent for a relative height
BackgroundImageWidth [} 705] Definition of the width of the background image
BackgroundImageWidthUnit [} 705] Selection of the unit of the width of the background
image:
• Pixels for an absolute width
• Percent for a relative width
BackgroundImagePadding [} 706] Definition of an additional distance between the
border of the control and background image for the
four sides
BackgroundImageVerticalAlignment [} 707] Definition of the vertical alignment of the background
image within the control
BackgroundImageHorizontalAlignment [} 706] Definition of the horizontal alignment of the
background image within the control
Events
Category: Control
Name Description
onTargetContentReplaced [} 763] The content control was replaced.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Region
See also
5.10.3.8.1 Attributes
WidthMode
Selection of the method of calculating the width. The available options are:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the left and right side. The Width attribute is ignored in
all calculations!
• Content: The width is defined by the children of the content control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeModeWithContent
See also
HeightMode
Selection of the method of calculating the height. The available options are:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the top and bottom side. The Height attribute is
ignored in all calculations!
• Content: The height is defined by the children of the content control.
Note: Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeModeWithContent
See also
TargetContent
Path to the content [} 728] control.
Schema: tchmi:framework#/definitions/ContentPath
See also
CurrentContent
Current Content [} 728] control object for this region. This is not the path [} 761] to the control, but the
control itself.
Schema: tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiContent
See also
ScaleMode
Defines the scaling of the control.
Possible values:
• None (Standard)
• ScaleToFit
• ScaleToFitWidth
• ScaleToFitHeight
• ScaleToFill
Schema: tchmi:framework#/definitions/ScaleMode
See also
Scrolling
Defines whether the content can be scrolled.
Possible values:
• No (Standard)
• Yes
• Auto
Schema: tchmi:framework#/definitions/ScrollMode
See also
5.10.3.8.2 Events
onTargetContentReplaced
The content control was replaced. The new control is not yet displayed at this point in time.
When a User Control is added, a User Control Host is created that points to the User Control.
Therefore, every change to an attribute (for example the background color) acts from the outside on
the user control host and from the inside on the user control.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 722] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
• Content: The height is defined by the width of the
content. The "Width" attribute is ignored in all
calculations!
HeightMode [} 722] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Name Description
• Content: The height is defined by the height of the
content. The "Height" attribute is ignored in all
calculations!
Category: Common
Name Description
IsEnabled [} 722] Selection of whether the control is enabled
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Partial [} 750]
User Control
See also
Form version 1.10, the attribute TargetUserControl is mandatory at the time of compilation and can no longer
be changed at runtime.
A missing attribute TargetUserControl and errors in the configuration of the UserControl defined in
TargetUserControl now lead to compilation errors that can indicate an error in the configuration.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 773] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side. The "Width" attribute is ignored
in all calculations!
• Content: The width is defined by the user control
that is displayed in the user control host. The
"Width" attribute is ignored in all calculations!
HeightMode [} 773] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Name Description
• Content: The height is defined by the user control
that is displayed in the user control host. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
TargetUserControl [} 774] Definition of the path to the user control that is to be
displayed
IsEnabled [} 774] Selection of whether the control should be enabled
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Control
Name Description
onTargetUserControlReplaced [} 774] Version 1.8 only: The user control was replaced.
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
See also
5.10.3.10.1 Attributes
HeightMode
Selection of the method of calculating the height. The available options are:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the top and bottom side. The Height attribute is
ignored in all calculations.
• Content: The width is defined by the children of the user control.
Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeModeWithContent
See also
WidthMode
Selection of the method of calculating the width. The available options are:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the left and right side. The Width attribute is ignored in
all calculations.
• Content: The width is defined by the children of the user control.
Learn how controls can be positioned and their size defined [} 111].
Schema: tchmi:framework#/definitions/SizeModeWithContent
See also
IsEnabled
Activation status of a control. This overwrites the status of the user control [} 763]. Only active controls
respond to mouse and touch.
Schema: tchmi:general#/definitions/Boolean
See also
TargetUserControl
Path to the user control [} 763].
Schema: tchmi:framework#/definitions/UserControlPath
See also
5.10.3.10.2 Events
onTargetUserControlReplaced
Since version 1.10 the UserControlHost and the UserControl form a firmer unit. This is established when the
UserControlHost is created and can no longer be separated. The event is therefore no longer used.
In version 1.8:
The user control was replaced. The new control is not yet displayed at this point in time.
Note: Available from version 1.8, not applicable from version 1.10
5.10.3.11 View
A view is the top-level control of a visualization. The control is created under the TC HMI project tree with the
context menu Add new Item…
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 722] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
• Content: The height is defined by the width of the
content. The "Width" attribute is ignored in all
calculations!
HeightMode [} 722] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Name Description
• Content: The height is defined by the height of the
content. The "Height" attribute is ignored in all
calculations!
Category: Common
Name Description
IsEnabled [} 722] Selection of whether the control is enabled
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Partial [} 750]
View
See also
Further information on the controls can be found in the chapter Creating a user control [} 44].
Enables or prevents the editing or viewing of the respective control by the user groups configured. For more
information, see the chapter User Management [} 887].
5.10.7 BaseTemplate
Name Description
5.10.7.1 Breadcrumb
The breadcrumb control in combination with the navigation control can display the path of the navigation and
navigate back to already visited pages.
Attributes
Category: Colors
Name Description
TextColor [} 786] Definition the text color of the control
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
TextFontSize [} 786] Definition of the font size
TextFontSizeUnit [} 786] Selecting the font size unit:
• Pixels for an absolute size
Percent for a relative size
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Breadcrumb
See also
5.10.7.1.1 Attributes
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextColor
Defines the color of the font.
Schema: tchmi:framework#/definitions/SolidColor
See also
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
TargetControl [} 792] Definition of the target control of the control
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onStateChanged [} 179] The pressed state has changed.
onStatePressed [} 179] The pressed state has changed from not pressed to
pressed.
onStateReleased [} 180] The pressed state has changed from pressed to not
pressed.
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Functions
Category: Menu
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Burger Menu
See also
5.10.7.2.1 Attributes
TargetControl
Definition of the target control of the control.
Schema: tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiControl
See also
5.10.7.2.2 Functions
closeMenu
Closes the menu.
5.10.7.3 Header
The Header Control can responsively and prioritize elements that are typically displayed in the header of an
application.
Attributes
Category: Colors
Name Description
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
Expandable [} 798] Defines whether the button for expanding the control
is displayed
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Items
Name Description
HeaderItems [} 798] Definition of the header elements of the control
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Header
See also
5.10.7.3.1 Attributes
Expandable
Defines whether the button for expanding the control is displayed.
Schema: tchmi:general#/definitions/Boolean
See also
HeaderItems
Definition of the header elements of the control.
Schema: tchmi:framework#/definitions/TcHmi.Control.BaseTemplate.TcHmiHeader.HeaderItems
See also
5.10.7.4 Navigation
The Navigation Control allows the user to navigate between the different pages of an application.
Attributes
Category: Colors
Name Description
TextColor [} 807] Definition the text color of the control
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
NavigationStructure [} 807] Definition of the navigation hierarchy
TargetRegion [} 807] Definition of the target region
BreadcrumbControl [} 807] Definition of the Breadcrumb control
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: navigation
Name Description
KeepLowestLevel [} 809] Defines whether the last navigation level should be
preserved in the context menu if the selected page
has no elements defined for the context menu.
NavigationOrientation [} 808] Definition of the orientation of the control
StaticMenuHeight [} 808] Definition of the height of the static menu
StaticMenuHeightUnit [} 808] Selection of the unit of the height of the static menu:
• Pixels for an absolute size
• Percent for a relative size
Category: Text
Name Description
TextFontSize [} 805] Definition of the font size
TextFontSizeUnit [} 805] Selecting the font size unit:
• Pixels for an absolute size
Percent for a relative size
Category: Icon
Name Description
IconHeight [} 805] Icon height definition
IconHeightUnit [} 806] Selection of the unit of the icon height:
• Pixels for an absolute size
• Percent for a relative size
IconWidth [} 806] Icon width definition
IconWidthUnit [} 806] Selection of the unit of the icon width:
• Pixels for an absolute size
• Percent for a relative size
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Navigation
See also
5.10.7.4.1 Attributes
TextFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
TextFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
IconHeight
Numerical value of the image height of the icon.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
IconHeightUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
IconWidth
Numerical value of the image width of the icon.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
IconWidthUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
TextColor
Defines the color of the font.
Schema: tchmi:framework#/definitions/SolidColor
See also
NavigationStructure
The structure of the navigation. A list of navigation elements, each of which represents a page of the
application and each of which may have subpages.
Schema: tchmi:framework#/definitions/TcHmi.Controls.BaseTemplate.TcHmiNavigation.ListItemList
See also
TargetRegion
Definition of the target region.
Schema: tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiRegion
See also
BreadcrumbControl
Definition of the Breadcrumb control.
Schema: tchmi:framework#/definitions/TcHmi.Controls.BaseTemplate.TcHmiBreadcrumb
See also
StaticMenuHeight
Height of the static part of the menu. The dynamic part of the menu takes up the rest of the available space.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
StaticMenuHeightUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
NavigationOrientation
The orientation of the entire control.
Schema: tchmi:framework#/definitions/
TcHmi.Controls.BaseTemplate.TcHmiNavigation.NavigationOrientation
See also
KeepLowestLevel
Defines whether the last navigation level should be preserved in the context menu if the selected page has
no elements defined for the context menu.
Schema: tchmi:general#/definitions/Boolean
See also
5.10.8.1 Breadcrumb
The Breadcrumb control in combination with the Navigation control can display the path of the navigation
and navigate back to already visited pages.
Attributes
Category: Colors
Name Description
FontColor [} 819] Definition the text color of the control
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
StartPage [} 816] Definition of the start page
LastPageClickable [} 816] Defines whether interaction with the last page
displayed is possible.
Path [} 819] Defines the displayed path
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
TextVerticalAlignment [} 818] Selecting the vertical alignment of the text
FontSize [} 819] Definition of the font size
FontSizeUnit [} 819] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Functions
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Breadcrumb
See also
5.10.8.1.1 Attributes
StartPage
Definition of the start page.
Schema: tchmi:framework#/definitions/ContentPath
See also
LastPageClickable
Defines whether interaction with the last page displayed is possible.
Schema: tchmi:general#/definitions/Boolean
See also
StartPageVisible
Defines whether the start page is displayed.
Schema: tchmi:general#/definitions/Boolean
See also
ShowStartPageOnStartPage
Defines whether the start page is displayed on the start page.
Schema: tchmi:general#/definitions/Boolean
See also
StartPageText
Defines the text that will be displayed for the start page.
Schema: tchmi:general#/definitions/String
See also
StartPageImage
Defines the image that will be displayed for the start page.
Schema: tchmi:framework#/definitions/Path
See also
ShowDefaultStartPage
Defines whether the default icon for the start page should be displayed if no other image is defined.
Schema: tchmi:general#/definitions/Boolean
See also
SpacerImage
Defines the image between the Breadcrumb elements.
Schema: tchmi:framework#/definitions/Path
See also
TextVerticalAlignment
Selecting the vertical alignment of the text.
Schema: tchmi:framework#/definitions/VerticalAlignment
See also
FontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
FontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
FontColor
Definition the text color of the control.
Schema: tchmi:framework#/definitions/SolidColor
See also
Path
Defines the displayed path.
Schema: tchmi:framework#/definitions/TcHmi.Controls.ResponsiveNavigation.TcHmiBreadcrumb.Path
See also
5.10.8.1.2 Functions
clearDisplay
Resets the currently displayed path.
Attributes
Category: Colors
Name Description
FontColor [} 827] Definition the text color of the control
HightlightColor [} 827] Definition of the highlight color of the control
TriangleColor [} 827] Definition of the color of the triangle
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
Category: Common
Name Description
MenuSourceData [} 829] Definition of the menu structure
SwitchBreakpoint [} 829] Defines the width in pixels at which the control
switches from the desktop view to the mobile view
EnableMobileSwitch [} 829] Defines whether the control can switch to the mobile
view
LastEventParameter [} 834] The parameter of the last selected menu item
LastPage [} 834] The page of the last selected menu item
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Appearance
Name Description
Alignment [} 832] Definition of the alignment of the control.
PaddingLeftRight [} 828] Definition of the vertical spacing of the menu items.
PaddingLeftRightUnit [} 828] Selection of the unit of the distance:
• Pixels for an absolute size
• Percent for a relative size
Category: Behavior
Name Description
ListenToWindowResize [} 835] Defines whether the control responds to resizing the
control or the window.
MouseOverShow [} 835] Defines whether menu items are opened when the
mouse pointer stays over the item for a while.
Category: Text
Name Description
FontSize [} 828] Definition of the font size
FontSizeUnit [} 829] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
Events
Category: Control
Name Description
onMenuClosed [} 836] The menu has been closed.
onMenuOpened [} 836] The menu has been opened.
onPageCalled [} 835] A menu item has been selected.
onViewSwitched [} 835] The view has switched between desktop view and
mobile view
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Functions
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Navigation Bar
See also
5.10.8.2.1 Attributes
HightlightColor
Schema: tchmi:framework#/definitions/SolidColor
See also
FontColor
Schema: tchmi:framework#/definitions/SolidColor
See also
TriangleColor
Schema: tchmi:framework#/definitions/SolidColor
See also
PaddingLeftRight
Schema: tchmi:framework#/definitions/MeasurementValue
See also
PaddingLeftRightUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
FontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
FontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
MenuSourceData
Schema: tchmi:framework#/definitions/
TcHmi.Controls.ResponsiveNavigation.TcHmiNavigationBar.MenuItemList
See also
SwitchBreakpoint
The width in pixels at which the control switches from desktop view to mobile view.
Schema: tchmi:general#/definitions/Number
See also
EnableMobileSwitch
Defines whether the control can switch to the mobile view.
Schema: tchmi:general#/definitions/Boolean
See also
DesktopView
Schema: tchmi:general#/definitions/Boolean
See also
MobileMenuImage
The address of the image that will be displayed when the control is in mobile view. Images on other servers
are also possible.
Schema: tchmi:framework#/definitions/Path
See also
NavContentControlSymbol
The icon of the TcHmiNavigationContent control in which subelements of the navigation are displayed.
Schema: tchmi:framework#/definitions/
TcHmiControls.ResponsiveNavigation.TcHmiNavigationBar.NavigationContentControlSymbol
See also
NavContentControl
The TcHmiNavigationContent control instance which represents the menu.
Schema: tchmi:framework#/definitions/Tchmi.Controls.ResponsiveNavigation.TcHmiNavigationContent
See also
BreadcrumbControlSymbol
The TcHmiBreadcrumb control instance which represents the navigation path.
Schema: tchmi:framework#/definitions/
TcHmi.Controls.ResponsiveNavigation.TcHmiNavigationBar.BreadCrumbControlSymbol
See also
BreadcrumbControl
The TcHmiBreadcrumb control instance which represents the navigation path.
Schema: tchmi:framework#/definitions/TcHmi.Controls.ResponsiveNavigation.TcHmiBreadcrumb
See also
TargetRegionControlSymbol
The TcHmiRegion control instance that represents the selected page.
Schema: tchmi:framework#/definitions/
TcHmi.Controls.ResponsiveNavigation.TcHmiNavigationBar.TargetRegionControlSymbol
See also
TargetRegionControl
The TcHmiRegion control instance that represents the selected page.
Schema: tchmi:framework#/definitions/TcHmi.Controls.System.TcHmiRegion
See also
Alignment
Schema: tchmi:framework#/definitions/
TcHmi.Controls.ResponsiveNavigation.TcHmiNavigationBar.Alignment
See also
MobileIconWidth
Numerical value of the image width of the icon.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
MobileIconWidthUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
MobileIconHeight
Numerical value of the image width of the icon.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
MobileIconHeightUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
LastEventParameter
The parameter of the last selected menu item.
Schema: tchmi:general#/definitions/String
See also
LastPage
The page of the last selected menu item.
Schema: tchmi:general#/definitions/String
See also
ListenToWindowResize
Schema: tchmi:general#/definitions/Boolean
See also
MouseOverShow
Schema: tchmi:general#/definitions/Boolean
See also
5.10.8.2.2 Events
onViewSwitched
The view has been changed between mobile and desktop.
onPageCalled
A navigation element that defined a page was selected.
onMenuOpened
The menu has been opened.
onMenuClosed
The menu has been closed.
5.10.8.2.3 Functions
closeMenu
Closes the menu.
Attributes
Category: Colors
Name Description
FontColor [} 842] Definition the text color of the control
MenuBackgroundColor [} 849] Definition of the background color of the menu
BackgroundColor [} 705] Definition of the background color
BorderColor [} 703] Definition of the border color of the control
Category: Layout
Name Description
Left [} 697] Definition of the distance from the left side to the left
side of the surrounding control
LeftUnit [} 697] Definition of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Top [} 697] Definition of the distance from the top side to the top
side of the surrounding control
TopUnit [} 698] Selection of the unit of the distance to the top side of
the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Right [} 700] Definition of the distance from the right side to the
right side of the surrounding control
RightUnit [} 700] Selection of the unit of the distance to the right side
of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Bottom [} 700] Definition of the distance from the bottom side to the
bottom side of the surrounding control
BottomUnit [} 700] Selection of the unit of the distance to the bottom
side of the surrounding control:
• Pixels for absolute positioning
• Percent for relative positioning
Width [} 698] Definition of the external width of the control
WidthUnit [} 698] Selection of the unit of the width:
• Pixels for an absolute width
• Percent for a relative width
Height [} 699] Definition of the external height of the control
HeightUnit [} 699] Selection of the unit of the height:
• Pixels for an absolute height
• Percent for a relative height
MaxWidth [} 708] Definition of the maximum width if the control size is
defined as dynamic
MaxWidthUnit [} 708] Selection of the unit of the maximum width:
• Pixels for an absolute value
• Percent for a relative value
MinWidth [} 709] Definition of the minimum width if the control size is
defined as dynamic
MinWidthUnit [} 709] Selection of the unit of the minimum width:
• Pixels for an absolute value
• Percent for a relative value
MaxHeight [} 708] Definition of the maximum height if the control size is
defined as dynamic
MaxHeightUnit [} 708] Selection of the unit of the maximum height:
• Pixels for an absolute value
• Percent for a relative value
MinHeight [} 707] Definition of the minimum height if the control size is
defined as dynamic
Name Description
MinHeightUnit [} 707] Selection of the unit of the minimum height:
• Pixels for an absolute value
• Percent for a relative value
RenderedLeft [} 701] Calculated distance in pixels from the left side to the
left side of the surrounding control
RenderedTop [} 701] Calculated distance in pixels from the top side to the
top side of the surrounding control
RenderedRight [} 702] Calculated distance in pixels from the right side to the
right side of the surrounding control
RenderedBottom [} 701] Calculated distance in pixels from the bottom side to
the bottom side of the surrounding control
RenderedWidth [} 702] Calculated width of the control in pixels
RenderedHeight [} 702] Calculated height of the control in pixels
GridRowIndex [} 703] Definition of the row of a grid in which the control is to
be displayed
GridColumnIndex [} 703] Definition of the column of a grid in which the control
is to be displayed
Opacity [} 709] Definition of the transparency of the entire control
Visibility [} 711] Selection of the visibility of a control:
• Visible: Control is visible
• Hidden: Control is invisible, but is drawn – controls
behind it cannot be operated
• Collapsed: Control is invisible and is not drawn –
controls behind it can be operated
ZIndex [} 711] Definition of the position on the Z-axis
Transform [} 710] Definition of a transformation of a control:
• Translate: Translate in X-, Y-, Z-direction
• Rotate: Rotate by an angle
• Scale: Zoom by a factor
• Skew: Sides shown skewed by an angle
• Origin: Set the origin of the transformation relative
to the position of the control
• Perspective: Set the perspective of the
transformations of all child elements
BoxShadow [} 711] Definition of a shadow
WidthMode [} 698] Selection of the method of calculating the width:
• Value: The width is defined by the width entered.
• Parent: The width is defined by the distance to the
left and right side of the parent element. The
"Width" attribute is ignored in all calculations!
HeightMode [} 699] Selection of the method of calculating the height:
• Value: The height is defined by the height entered.
• Parent: The height is defined by the distance to the
top and bottom side of the parent element. The
"Height" attribute is ignored in all calculations!
HeightMode [} 849] Selection of the method of calculating the height:
• Value: the height is defined by the height entered.
• Parent: the height is defined by the distance to the
upper and lower side of the parent element. The
'Height' attribute is ignored in all calculations!
Name Description
• Content: the height is defined by the content of the
control.
Category: Common
Name Description
CloseText [} 848] The text of the close button
CloseImage [} 848] The image of the close button
SubMenuImage [} 849] The image that is displayed in front of subelements of
the navigation
IsEnabled [} 696] Selection of whether a control should be activated
Id [} 696] Definition of the name of the control
Type [} 710] Type name of the control
ClassNames [} 696] Definition of control classes
IsAttached [} 696] If a control is logically assigned in the DOM.
Tooltip [} 710] Definition of the tooltip for the control
Category: Border
Name Description
BorderRadius [} 704] Definition of the radius of the four corners to round
them off
BorderStyle [} 704] Selection of the border style of the four sides of the
control
BorderWidth [} 704] Definition of the border width of the four sides of the
control
Category: Text
Name Description
CloseFontSize [} 846] Definition of the font size of the close button
CloseFontSizeUnit [} 847] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
ColumnElementFontSize [} 846] Definition of the font size of a column element
ColumnElementFontSizeUnit [} 846] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
ColumnTitleFontSize [} 845] Definition of the font size of a column title
ColumnTitleFontSizeUnit [} 845] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
SubtitleFontSize [} 844] Definition of the font size of a subtitle
SubtitleFontSizeUnit [} 845] Selecting the font size unit:
• Pixels for an absolute size
• Percent for a relative size
Category: Behavior
Name Description
AnimationTime [} 844] The animation time in milliseconds.
AutoCloseMenu [} 848] Defines whether the menu is closed when the user
interacts with controls outside the menu.
AutoCollapseElement [} 847] Defines whether menu items are closed when
another menu item is selected.
AutoExpandElements [} 847] Defines whether all elements are expanded after
opening the menu.
Category: Appearance
Name Description
ColumnElementMarginTop [} 843] Top margin of a column element
ColumnElementMarginTopUnit [} 843] Selection of the unit of the distance:
• Pixels for an absolute size
• Percent for a relative size
MobileElementMarginTop [} 844] Top margin of an element in mobile view
MobileElementMarginTopUnit [} 844] Selection of the unit of the distance:
• Pixels for an absolute size
• Percent for a relative size
PaddingLeftRight [} 842] Definition of the vertical spacing of the menu items.
PaddingLeftRightUnit [} 843] Selection of the unit of the distance:
• Pixels for an absolute size
• Percent for a relative size
ShowIconsMobile [} 847] Defines whether the icons are displayed in the mobile
view.
Events
Category: Framework
Name Description
onAttached [} 712] The control was added to the display.
onDetached [} 712] The control was removed from the display.
onInitialized [} 712] The control was initialized.
onDestroyed [} 712] The control was destroyed.
onMoved [} 715] The control was moved in relation to the browser
window.
onResized [} 715] The size of the control was changed.
Category: Operator
Name Description
onPressed [} 715] A mouse click was executed or a touch screen was
briefly touched.
onMouseClick [} 712] The left mouse button was clicked over the control
and released.
onMouseDoubleClick [} 713] The left mouse button was clicked twice over the
control and released.
onMouseRightClick [} 714] The right mouse button was clicked over the control
and released.
onMouseDown [} 713] A mouse button was pressed down over the control.
onMouseEnter [} 713] The mouse pointer was moved over the control.
onMouseLeave [} 713] The mouse pointer has left the control.
onMouseUp [} 714] A mouse button was released over the control.
onMouseDownLeft [} 713] The left mouse button was pressed down over the
control.
onMouseDownRight [} 713] The right mouse button was pressed down over the
control.
onMouseMove [} 714] The mouse was moved over the control.
onMouseOver [} 714] The mouse pointer was moved over the control or
one of its children.
onMouseOut [} 714] The mouse pointer has left the control or one of its
child controls.
onMouseUpLeft [} 714] The left mouse button was released over the control.
onMouseUpRight [} 715] The right mouse button was released over the
control.
onMouseWheel [} 715] The mouse wheel was moved over the control.
onTouchStart [} 716] A finger/stylus was placed against a touch screen.
onTouchMove [} 716] A finger/stylus was moved on a touch screen.
onTouchEnd [} 716] A finger/stylus was lifted off a touch screen.
onTouchCancel [} 715] An interaction with a touch screen was aborted.
Access rights
Name Description
observe [} 716] Determines whether the control is generally
observable.
operate [} 716] Determines whether the control is generally operable.
Inheritance hierarchy
Control [} 690]
Navigation Content
See also
5.10.8.3.1 Attributes
FontColor
Definition the text color of the control.
Schema: tchmi:framework#/definitions/SolidColor
See also
PaddingLeftRight
Definition of the vertical spacing of the menu items.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
PaddingLeftRightUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
ColumnElementMarginTop
The top margin of a column element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
ColumnElementMarginTopUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
MobileElementMarginTop
The top margin of an element in mobile view.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
MobileElementMarginTopUnit
Pixels, or percent for relative positioning.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
AnimationTime
Animation time in milliseconds.
Schema: tchmi:general#/definitions/Number
See also
SubtitleFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
SubtitleFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
ColumnTitleFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
ColumnTitleFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
ColumnElementFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
ColumnElementFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
CloseFontSize
The font size. If the percent is specified as the unit, this is relative to the font size of the parent element.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
CloseFontSizeUnit
Pixels, or percent for relative sizes.
Schema: tchmi:framework#/definitions/MeasurementUnit
See also
ShowIconsMobile
Defines whether the icons are displayed in the mobile view.
Schema: tchmi:general#/definitions/Boolean
See also
AutoCollapseElement
Defines whether menu items are closed when another menu item is selected.
Schema: tchmi:general#/definitions/Boolean
See also
AutoExpandElements
Defines whether all elements are expanded after opening the menu.
Schema: tchmi:general#/definitions/Boolean
See also
AutoCloseMenu
Defines whether the menu is closed when the user interacts with controls outside the menu.
Schema: tchmi:general#/definitions/Boolean
See also
CloseText
The text of the close button.
Schema: tchmi:general#/definitions/String
See also
CloseImage
The address of the image. Images on other servers are also possible.
Schema: tchmi:framework#/definitions/Path
See also
SubMenuImage
The address of the image. Images on other servers are also possible.
Schema: tchmi:framework#/definitions/Path
See also
MenuBackgroundColor
Definition of the background color of the menu.
Schema: tchmi:framework#/definitions/SolidColor
See also
HeightMode
Selection of the method of calculating the height.
Schema: tchmi:framework#/definitions/MeasurementValue
See also
5.11 Functions
Functions enable various logical operations to be executed on the client side. The functions can be used in
the Properties window [} 58], in the Actions and Conditions Editor [} 59] or in the Code Behind [} 1209].
To use a function in Code Behind, a reference to the function must be obtained via the API function
TcHmi.Functions.getFunction. This reference can then be called up directly.
In addition to the functions supplied, it is possible to implement your own logical operations in JavaScript
[} 1213].
5.11.1 Binding
5.11.1.1 CheckBinding
function CheckBinding(control: TcHmi.Controls.System.baseTcHmiControl, propertyName: string):
boolean
The CheckBinding function checks whether a binding to a control property exists. Refer also to the
description page for the corresponding API function.
Parameter
Name Type Description
control TcHmi.Controls.System.baseTcHm The control containing the property
iControl to be checked.
propertyName string The name of the control property to
be checked.
Return value
Type Description
boolean Values:
• true: A binding to the control property exists.
• false: A binding to the control property does not
exist.
5.11.1.2 CheckBindingEx
function CheckBindingEx(control: TcHmi.Controls.System.baseTcHmiControl, propertyName: string,
symbol: TcHmi.Symbol | null): boolean
The CheckBindingEx function checks whether a binding of a certain symbol to a control property exists.
Parameter
Name Type Description
control TcHmi.Controls.System.baseTcHm The control containing the property
iControl to be checked.
propertyName string The name of the control property to
be checked.
symbol Symbol The symbol for which the binding to
a control property is to be checked.
Return value
Type Description
boolean Values:
• true: A binding of the symbol to the control
property exists.
• false: A binding of the symbol to the control
property does not exist.
5.11.1.3 CreateBinding
function CreateBinding(control: TcHmi.Controls.System.baseTcHmiControl, propertyName: string,
symbol: TcHmi.Symbol | null): void
The CreateBinding function creates a binding on a control property. Refer also to the description page for the
corresponding API function.
Parameter
Name Type Description
control TcHmi.Controls.System.baseTcHm The control that is to be linked.
iControl
propertyName string The name of the property on the
control.
symbol Symbol Binding source
Return value
Type Description
void No return value
5.11.1.4 RemoveBinding
function RemoveBinding(control: TcHmi.Controls.System.baseTcHmiControl, propertyName: string): void
The RemoveBinding function deletes a binding on a control property. Refer also to the description page for
the corresponding API function.
Parameter
Name Type Description
control TcHmi.Controls.System.baseTcHm The control that is to be changed.
iControl
propertyName string The name of the property on the
control.
Return value
Type Description
void No return value
5.11.2.1 Concatenate
function Concatenate(...strings: string[])
Parameter
Name Type Description
…strings [ Rest Parameter ] string[] Any number of strings that are to
be linked.
Return value
Type Description
string A string linked from the parameter values.
5.11.2.2 ConvertBooleanToEnum
function ConvertBooleanToEnum<T = any>(value: boolean, trueValue: T, falseValue: T)
Parameter
Name Type Description
value boolean The Boolean value to be
converted. Only a binding [} 104]
makes sense at this point.
trueValue T The value to be returned if the
Boolean value is true.
falseValue T The value to be returned if the
Boolean value is false.
Return value
Type Description
T The value specified as trueValue or falseValue
depending on the Boolean parameter value.
5.11.2.3 ConvertBooleanToVisibility
function ConvertBooleanToVisibility(value: boolean, falseValue: 'Hidden' | 'Collapsed' = 'Hidden'):
Visibility
The function ConvertBooleanToVisibility converts a Boolean value to a value of the enumerator "Visibility
[} 711]".
Parameter
Name Type Description
value boolean The Boolean value to be
converted. Only a binding [} 104]
makes sense at this point.
falseValue Visibility [} 711] The value specified as falseValue
depending on the Boolean
parameter value.
Return value
Type Description
Visibility [} 711] The visibility depending on the Boolean value.
5.11.2.4 Decrement
Note: Version 1.8
function Decrement(symbol: Symbol, minValue?: number): void
The Decrement function counts a numerical value in a binding downward in steps of a specified step size.
Parameter
Name Type Description
ctx Required<TcHmi.Context> Context object
Note: Available since version 1.10 Does not need to be specified by
the user when used in a trigger or
function expression. In this case
the transfer and the evaluation is
done by the corresponding parser.
Is used by the caller to indicate
success or failure to the framework
during execution.
If the function is used directly in
JavaScript/TypeScript, the context
object must be passed in the call
and evaluated if necessary.
value Symbol The value to be decremented. The
value must be specified as a
binding [} 104] to a symbol.
minValue number A minimum value that may not be
undershot.
stepWidth number The step size with which the value
is to be decremented.
Return value
Type Description
void No return value.
5.11.2.5 GetElementByIndex
Note: Version 1.8
function GetElementByIndex<T>(array: T[] | string | null, arrayIndex: number | null): T | any
The function GetElementByIndex returns the value of a certain array index of a binding.
Parameter
Name Type Description
ctx Required<TcHmi.Context> Context object
Note: Available since version 1.10 Does not need to be specified by
the user when used in a trigger or
function expression. In this case
the transfer and the evaluation is
done by the corresponding parser.
Is used by the caller to indicate
success or failure to the framework
during execution.
If the function is used directly in
JavaScript/TypeScript, the context
object must be passed in the call
and evaluated if necessary.
arraySymbol Note: Version 1.8 A binding to the symbol of an array.
T[] | string | null
Note: Version 1.10
Symbol
index number | null The index of the array for which the
value is to be returned.
Return value
Type Description
Note: Version 1.8 Note: Version 1.8
any The value that is stored in the position of the index in
Note: Version 1.10 the array.
5.11.2.6 Increment
Note: Version 1.8
function Increment(symbol: Symbol | undefined | null, maxValue?: number | null): void
The Increment function counts a numerical value in a binding upward in steps of a specified step size.
Parameter
Name Type Description
ctx Required<TcHmi.Context> Context object
Note: Available since version 1.10 Does not need to be specified by
the user when used in a trigger or
function expression. In this case
the transfer and the evaluation is
done by the corresponding parser.
Is used by the caller to indicate
success or failure to the framework
during execution.
If the function is used directly in
JavaScript/TypeScript, the context
object must be passed in the call
and evaluated if necessary.
symbol Symbol The value to be incremented. The
value must be specified as a
binding [} 104] to a symbol.
maxValue number A maximum value that may not be
exceeded.
stepWidth number The step size with which the value
is to be incremented.
Return value
Type Description
void No return value.
5.11.2.7 SetElementByIndex
function SetElementByIndex(ctx: Required<TcHmi.Context>, arraySymbol: TcHmi.Symbol<any[]> | null,
arrayIndex: number | null, value: any): void
The function SetElementByIndex sets the value of a certain array index in a binding.
Parameter
Name Type Description
ctx Required<TcHmi.Context> Context object
Does not need to be specified by
the user when used in a trigger or
function expression. In this case
the transfer and the evaluation is
done by the corresponding parser.
Is used by the caller to indicate
success or failure to the framework
during execution.
If the function is used directly in
JavaScript/TypeScript, the context
object must be passed in the call
and evaluated if necessary.
arraySymbol Symbol A binding to the symbol of an array.
index number The index of the array for which the
value is to be set.
value any The value to be written in the
position of the array.
Return value
Type Description
void No return value.
5.11.2.8 ToDateString
function ToDateString(date: Date | any, locale?: string | null): string
The function ToDateString converts a date in accordance with a transferred localization into a string
containing the date.
Parameter
Name Type Description
date any Text, numbers (milliseconds since
01/01/1970) or JavaScript date
object.
locale string The localization variable in the form
of a string. If this is not specified,
the currently active language
[} 928] will be used.
Return value
Type Description
string The date of the input value according to the
localization in the form of a string.
5.11.2.9 ToDateTimeString
function ToDateTimeString(date: Date | any, locale?: string | null): string
The function ToDateTimeString converts a date in accordance with a transferred localization into a string
containing the date including the time.
Parameter
Name Type Description
date any Text, numbers (milliseconds since
01/01/1970) or JavaScript date
object.
locale string The localization variable in the form
of a string. If this is not specified,
the currently active language
[} 928] will be used.
Return value
Type Description
string The date with time of the input value according to the
localization in the form of a string.
5.11.2.10 ToLowerCase
function ToLowerCase(value: string | null): string | null
The function ToLowerCase converts all the letters in a string to lower-case letters.
Parameter
Name Type Description
value string Any string.
Return value
Type Description
string | null Input string in lower case or null if no string was
passed.
5.11.2.11 ToTimeString
function ToTimeString(date: Date | any, locale?: string | null): string
The function ToTimeString converts a date in accordance with a transferred localization into a string
containing the time.
Parameter
Name Type Description
date any Text, numbers (milliseconds since
01/01/1970) or JavaScript date
object.
locale string The localization variable in the form
of a string. If this is not specified,
the currently active language
[} 928] will be used.
Return value
Type Description
string The time of the input value according to the
localization in the form of a string.
5.11.2.12 ToUpperCase
function ToUpperCase(value: string): string | null
The function ToUpperCase converts all the letters in a string to upper-case letters.
Parameter
Name Type Description
value string Any string or null if no string was
passed.
Return value
Type Description
string | null Input string in upper-case letters.
5.11.2.13 TrimToLength
function TrimToLength(value: string | null, trimToLength: number | string | null): string | null
The function TrimToLength shortens a string to a specified number of characters from left or right.
Parameter
Name Type Description
value string String to be shortened.
trimToLength number Number of characters to which the
string is to be shortened. Positive
values shorten the string from the
left, negative values from the right.
Return value
Type Description
string | null The truncated string or null if anything other than
string was passed.
5.11.3 Diagnostics
5.11.3.1 Log
function Log(level: string, message: string, ...optionalParameters: any[]): void
Parameter
Name Type Description
level string Values:
• Error
• Warning
• Info
• Debug
message string Message text
optionalParameters [ Optional, …any[] Additional parameters can be
Rest Parameter ] passed, which are displayed in the
browser console in the context of
the message.
Return value
Type Description
void No return value.
5.11.4 Formatting
5.11.4.1 FormatString
function FormatString(formatString: string, ...args: any[]): string | null
The function FormatString formats a given string by replacing placeholders in the string by the values of the
symbols.
Parameter
Name Type Description
formatString string A string with placeholders.
…args [ Rest Parameter ] any[] Any value used in a placeholder.
Return value
Type Description
string | null String in which the placeholders are replaced by
values of the symbols or null if anything other than
string is passed as formatString.
Placeholder
Example: {0|.1f}
Placeholder Description
{ Placeholder is initiated.
0 Index of the parameter (optional: without an index
iteration takes place in sequence).
| Separator.
+ If a + is specified here, the string is always assigned
a sign. Example: "+42" for the positive number 42.
Negative numbers always have a sign, of course.
.X Number of digits.
f Type description.
} End of the placeholder.
Type description
Character Description
d Signed decimal integer
i Signed decimal integer
u Unsigned decimal integer
o Unsigned octal
x Unsigned hexadecimal integer
X Unsigned hexadecimal integer (upper case)
f Decimal floating point
e Scientific notation (mantissa/exponent), lower case
g Use the shortest representation: e or f
s String of characters
b Binary number
t true or false
T Type of the argument ('number', 'string', 'null' …)
v Primitive value of the specified argument
j JavaScript object or array as a JSON encoded string
Example
Input:
FormatString('Hello {1|.5s}. This is a floating point number - {0|.2f}. Two zeros are attached -
{03i} (3 digits in total).', 2, 'World123', 3);
Output:
"Hello World. This is a floating point number – 2.00. Two zeros are attached – 003 (3 digits in total)."
5.11.4.2 GaugeValueFormatter
function GaugeValueFormatter(value: number, maxDecimals = Infinity): string
The function GaugeValueFormatter rounds up a numerical value to a transferred number of decimal places.
Parameter
Name Type Description
value number Value to be rounded up.
maxDecimals number Number of decimal places to which
the value is to be rounded.
Return value
Type Description
string The rounded value in the form of a string.
5.11.5 Locale
5.11.5.1 GetLocale
function GetLocale(): string | undefined
The function GetLocale returns the currently active language of the client (with region, if available). Refer
also to the description page for the corresponding API function.
Parameter
Name Type Description
- - -
Return value
Type Description
string | undefined Currently active language (e.g. "de-DE").
5.11.5.2 GetRegisteredLocales
function GetRegisteredLocales(): string[]
The function GetRegisteredLocales returns all registered languages (with region if available) of the project.
Refer also to the description page for the corresponding API function.
Parameter
Name Type Description
- - -
Return value
Type Description
string[] An array with all registered languages of the project
in the form of a string.
5.11.5.3 SetLocale
function SetLocale(locale: string): void
The function SetLocale sets the active language in the client. Refer also to the description page for the
corresponding API function.
Parameter
Name Type Description
locale string A language registered in the
project.
Return value
Type Description
void No return value.
5.11.5.4 SetLocaleEx
function SetLocaleEx(ctx: Required<TcHmi.Context>, locale: string): void
The function SetLocaleEx sets the active language in the client. The function SetLocaleEx provides a context
parameter of type TcHmi.Context, which allows the framework to wait for the asynchronous signaling of the
end of the action when executing within triggers or function expressions.
Refer also to the description page for the corresponding API function.
Parameter
Name Type Description
ctx Required<TcHmi.Context> Context object
Does not need to be specified by
the user when used in a trigger or
function expression. In this case
the transfer and the evaluation is
done by the corresponding parser.
Is used by the caller to indicate
success or failure to the framework
during execution.
If the function is used directly in
JavaScript/TypeScript, the context
object must be passed in the call
and evaluated if necessary.
locale string A language registered in the
project.
Return value
Type Description
void No return value.
5.11.6 Recipe
5.11.6.1 ActivateRecipe
function ActivateRecipe(ctx: Required<TcHmi.Context>, recipeReference: string): void
The ActivateRecipe function enables the recipe defined in the parameter when the function is executed.
Parameter
Name Type Description
ctx Required<TcHmi.Context> Context object
Note: Available since version 1.10 Does not need to be specified by
the user when used in a trigger or
function expression. In this case
the transfer and the evaluation is
done by the corresponding parser.
Is used by the caller to indicate
success or failure to the framework
during execution.
If the function is used directly in
JavaScript/TypeScript, the context
object must be passed in the call
and evaluated if necessary.
recipeReference String The reference or the recipe (path
plus name) that is to be activated.
Return value
Type Description
void No return value.
5.11.6.2 TeachRecipe
function TeachRecipe(ctx: Required<TcHmi.Context>, recipeReference: string): void
The Teach function reads the current values of the symbols of a recipe from the target and stores them in
this recipe.
Parameter
Name Type Description
ctx Required<TcHmi.Context> Context object
Note: Available since version 1.10 Does not need to be specified by
the user when used in a trigger or
function expression. In this case
the transfer and the evaluation is
done by the corresponding parser.
Is used by the caller to indicate
success or failure to the framework
during execution.
If the function is used directly in
JavaScript/TypeScript, the context
object must be passed in the call
and evaluated if necessary.
recipeReference string The reference of the recipe (path
plus name) in which the current
values of the target are to be read
and stored.
Return value
Type Description
void No return value.
5.11.6.3 TeachAsNewRecipe
function TeachAsNewRecipe(ctx: Required<TcHmi.Context>, recipeReference: string, newRecipeName:
string, newRecipePath: string)
The TeachAsNew function reads the current values of the symbols of a defined recipe from the target and
stores them in a new recipe.
Parameter
Name Type Description
ctx Required<TcHmi.Context> Context object
Note: Available since version 1.10 Does not need to be specified by
the user when used in a trigger or
function expression. In this case
the transfer and the evaluation is
done by the corresponding parser.
Is used by the caller to indicate
success or failure to the framework
during execution.
If the function is used directly in
JavaScript/TypeScript, the context
object must be passed in the call
and evaluated if necessary.
recipeReference string The reference of the recipe (path
plus name) whose current symbol
values are to be read from the
target.
Examples:
‚MyRecipe1‘
‚MyFolder::MyRecipe2‘
newRecipeName string The name of the new recipe that is
to be created and in which the
values are to be stored.
If required, this name can already
contain the folder tree in which the
recipe is to be stored. Otherwise
the folder tree can be specified
under newRecipePath.
newRecipePath string The path under which the new
recipe is to be stored.
If this parameter is empty, the
recipe is created at the highest
folder level.
Example:
‚MyFolder‘
‚MyFolder1::MyFolder2‘
Return value
Type Description
void No return value.
5.11.7 Theme
5.11.7.1 GetTheme
function GetTheme(): string
The function GetTheme returns the name of the active theme. Refer also to the description page for the
corresponding API function.
Parameter
Name Type Description
- - -
Return value
Type Description
String Name of the active theme.
5.11.7.2 SetAttributeToThemeValue
function SetAttributeToThemeValue(control: TcHmi.Controls.System.baseTcHmiControl, propertyName:
string): void
The function SetAttributeToThemeValue sets an attribute of a control to the value of the active theme. In the
case of a change of theme, the value of the attribute is changed in accordance with the new active theme.
Refer also to the description page for the corresponding API function.
Parameter
Name Type Description
control TcHmi.Controls.System.baseTcHm The control for which the attribute
iControl is to be set.
propertyName string Name of the attribute that is to be
set to the value of the active
theme.
Return value
Type Description
void No return value.
5.11.7.3 SetTheme
function SetTheme(themeName: string): void
The function SetTheme sets the active theme. Refer also to the description page for the corresponding API
function.
Parameter
Name Type Description
newTheme string Available theme that is to be set to
active.
Return value
Type Description
void No return value.
5.11.8 UserManagement
5.11.8.1 CheckAccess
function CheckAccess(tco: TcHmi.Controls.System.baseTcHmiControl, AccessRightToCheck: string):
boolean
The function CheckAccess checks whether the logged-in user has the right to access a control. Refer also to
the description page for the corresponding API function.
Parameter
Name Type Description
tco TcHmi.Controls.System.baseTcHm The control for which the right is to
iControl be checked.
AccessRightToCheck string The right that is to be checked.
Return value
Type Description
boolean Values:
• true: The user has the right in question.
• false: The user does not have the right in question.
5.11.8.2 ForceLogout
function ForceLogout(username: string | null | undefined): boolean
The ForceLogout function logs out a specific user or all users on all client instances connected to the server.
Refer also to the description page for the corresponding API function.
Parameter
Name Type Description
username [ optional ] string | null | undefined The user name to be logged out on
all client instances connected to
the server.
If the parameter is not specified, all
users are logged out.
Return value
Type Description
boolean Returns false in case of error.
5.11.8.3 ForceLogoutEx
function ForceLogoutEx(ctx: Required<TcHmi.Context>, username: string | null | undefined)
The ForceLogoutEx function logs out a specific user or all users on all client instances connected to the
server. The function ForceLogoutEx provides a context parameter of type TcHmi.Context, which allows the
framework to wait for the asynchronous signaling of the end of the action when executing within triggers or
function expressions.
Refer also to the description page for the corresponding API function.
Parameter
Name Type Description
ctx Required<TcHmi.Context> Context object
Does not need to be specified by
the user when used in a trigger or
function expression. In this case
the transfer and the evaluation is
done by the corresponding parser.
Is used by the caller to indicate
success or failure to the framework
during execution.
If the function is used directly in
JavaScript/TypeScript, the context
object must be passed in the call
and evaluated if necessary.
username [ optional ] string | null | undefined The user name to be logged out on
all client instances connected to
the server.
If the parameter is not specified, all
users are logged out.
Return value
Type Description
void No return value.
5.11.8.4 GoToLoginPage
function GoToLoginPage(): boolean
The GoToLoginPage function calls the login page of the server without logging out the currently logged in
user. This makes it possible to change users.
Parameter
Name Type Description
- - -
Return value
Type Description
boolean Returns false if it is not possible to switch to the login
page.
5.11.8.5 Login
function Login(username: string | null, password: string | null, persistent: boolean = true, reload:
boolean = true): boolean
Refer also to the description page for the corresponding API function.
Parameter
Name Type Description
username string User name
password string User password
persistent [ optional ] boolean Defines whether the login should
be persistent.
The default value is true.
reload [ optional ] boolean Defines whether a reload should
Note: Available since version 1.12 take place after the logout.
The default value is true.
Return value
Type Description
void No return value.
5.11.8.6 LoginEx
function LoginEx(ctx: Required<TcHmi.Context>, username: string | null, password: string | null,
persistent: boolean = true, reload: boolean = true)
The LoginEx function logs a user into the server. The function LoginEx provides a context parameter of type
TcHmi.Context, which allows the framework to wait for the asynchronous signaling of the end of the action
when executing within triggers or function expressions.
Refer also to the description page for the corresponding API function.
Parameter
Name Type Description
ctx Required<TcHmi.Context> Context object
Does not need to be specified by
the user when used in a trigger or
function expression. In this case
the transfer and the evaluation is
done by the corresponding parser.
Is used by the caller to indicate
success or failure to the framework
during execution.
If the function is used directly in
JavaScript/TypeScript, the context
object must be passed in the call
and evaluated if necessary.
username string User name
password string User password
persistent [ optional ] boolean Defines whether the login should
be persistent.
The default value is true.
reload [ optional ] boolean Defines whether a reload should
Note: Available since version 1.12 take place after the logout.
The default value is true.
Return value
Type Description
void No return value.
5.11.8.7 Logout
function Logout(reload: boolean = true): boolean
The function Logout logs the current user out of the server.
Refer also to the description page for the corresponding API function.
Parameter
Name Type Description
reload [ optional ] boolean Defines whether a reload should
Note: Available from version 1.12 take place after the logout.
The default value is true.
Return value
Type Description
void No return value.
5.11.8.8 LogoutEx
function LogoutEx(ctx: Required<TcHmi.Context>, reload: boolean = true)
The function LogoutEx logs the current user out of the server. The function LogoutEx provides a context
parameter of type TcHmi.Context, which allows the framework to wait for the asynchronous signaling of the
end of the action when executing within triggers or function expressions.
Refer also to the description page for the corresponding API function.
Parameter
Name Type Description
ctx Required<TcHmi.Context> Context object
Does not need to be specified by
the user when used in a trigger or
function expression. In this case
the transfer and the evaluation is
done by the corresponding parser.
Is used by the caller to indicate
success or failure to the framework
during execution.
If the function is used directly in
JavaScript/TypeScript, the context
object must be passed in the call
and evaluated if necessary.
reload [ optional ] boolean Defines whether a reload should
take place after the logout.
The default value is true.
Return value
Type Description
void No return value.
5.12 Publishing
So that a TwinCAT HMI project can be requested from a TE2000 HMI server, it must be transferred to the
server.
1. Open the Publish dialog via the context menu or the Visual Studio menu (TwinCAT HMI / Publish to
TwinCAT HMI Server).
2. When executing for the first time, create a Publish profile that you can use again later.
3. Enter the IP address or the host name as well as the port of the TwinCAT HMI server. Alternatively you
can perform a broadcast search using the button and find all available HMI servers in the local
network (the administrator password must be set on the server via the Config page). The project can be
transferred by HTTP (default setting: port 1010) and HTTPS (default setting: 1020).
4. Select the server configuration that you wish to transfer to the target system.
ð The Visual Studio output window informs you about the course of the procedure.
Server as process
In versions 1.8 and 1.10 [} 19], the TF2000 HMI Server starts as a process on the operating system.
1. Open the Start menu and copy the link from the following folder:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Beckhoff\TF2000 HMI Server
2. Open the TwinCAT Autostart folder and place the link there:
C:\TwinCAT\3.1\Target\StartUp
If the browser is located on a system on which TwinCAT is installed, the browser can be started via the
TwinCAT Autostart folder. To do this, open the TwinCAT Autostart folder:
C:\TwinCAT\3.1\Target\StartUp
If the browser is located on a system which only functions as a client and on which TwinCAT is not installed,
you can use the startup folder of the Windows user. To do this, copy the link of your browser into this folder.
You open the startup folder by entering the command "shell:startup" under "Run":
Some browsers support starting in full screen mode (kiosk mode), which makes it possible to hide the
underlying operating system. The kiosk mode is set differently depending on the browser.
In the following, the configuration of the kiosk mode is explained using the "Google Chrome" browser as an
example. With this browser, the kiosk mode can be set via startup parameters.
2. In the Target line you can add optional parameters at the end:
In addition to the kiosk mode, further parameters can be set that load different configurations in the browser.
For the browser "Google Chrome" there are the following relevant parameters:
Parameter Description
--kiosk https://ip-of-hmi-server:1020 Start kiosk mode. The URL can load any page (in this
case the HMI).
--disable-pinch Disable zoom in browser.
--overscroll-history-navigation=0 Disable wipe navigation of the browser.
--incognito Start incognito mode of the browser.
The server can manage several configurations in order, for example, to configure different controllers. You
can add new configurations via "Create new configuration".
The configuration, which is transferred to the remote server, can be selected during the publish process.
[} 874] Two configurations are supplied by default:
• Default Configuration: Local configuration that is loaded from the Engineering Server (valid in LiveView
[} 72] and when transferred to the Engineering Server).
• Remote configuration: Configuration that is transferred to the remote server when publishing.
Cancel publishing
Bring to front
Send to back
Same height
Same width
Swap
Align left
Align right
Align top
Align bottom
Content [} 728], a page that can be used and switched within regions [} 755].
A User Control [} 763] can be instanced multiple times and each has a
unique ID. All User Controls are listed in the Toolbox.
A view [} 775] can be used as an entry page, e.g. configured as a start page
and a further view.
6 User management
User management in TwinCAT HMI is an authorization system for controlling user group-specific access at
control, symbol or file level.
The use of the user management is optional and only works with active authentication.
Since user management only works when authentication is active, the configured functions are not
available in live view.
2. Configure the user via the following properties in the Create / edit user dialog.
• Time zone: Time zone in which the user is located. By assigning the time zone, it is possible to
localize the times displayed on the HMI. The time zone can be taken from the project properties or the
browser default or can be defined individually.
• Time format locale: Time format to be displayed to the user. By assigning the time format, it is
possible to format the times displayed on the HMI. The time format can be taken from the project
properties or the browser default or can be defined individually.
• Auto-Logout Time: Time of inactivity of the user after which the user is automatically logged out on
the HMI (client side) without any user interaction.
The settings "Authenticate by client certificate", "Auth Extension", "Time zone" and "Time format lo-
cal" are available as of version 1.10.1336.0
The Auto Login function is activated in the TwinCAT HMI Configuration window under the Users item. To do
this, the checkbox for a user must be set. The auto login function can only be activated for one user and not
for several users at the same time.
See also
GoToLoginPage [} 871]
2. Configure the user group with the following properties in the associated dialog:
2. Make the desired changes (see Creating a new user group [} 890]).
System user
__SystemGuest: Guest who is automatically active if no user is logged in and is a member of the group
"__SystemGuests".
__SystemAdministrators: System administrator group with unrestricted rights and the following default
settings:
• Symbol Access: Read/Write
• File Access: Read/Write
• Enabled: True
• Members: __SystemAdministrator
__SystemGuests: Guest group with restricted rights, which allow only the login function, and the following
default settings:
• Symbol Access: None
• File Access: None
• Enabled: True
• Members: __SystemGuest
__SystemUsers: User group with restricted rights that allow access to all system server symbols required at
runtime. The user group has the following default settings:
• Symbol Access: None
• File Access: Read/Write
• Enabled: True
• Members: Every user except __SystemAdministrator or __SystemGuest
By default, all new users are members of the group __SystemUsers as a minimum. This behavior can be
changed on the server configuration page under "TcHmiSrv/Security" under the name "Default Usergroup".
The system users and system user groups are visible and configurable only in Advanced Mode. Do
not change any settings in the system user groups.
1. The control level [} 893] represents the client-side permissions system of the TwinCAT HMI Frame-
work. This is a manipulation of the user interface through the hiding of controls or the deactivation of
their functions, depending on which group(s) the logged-in user belongs to.
2. The symbol level [} 897] controls the user group-specific access to server symbols (mapped symbols).
3. The file level [} 899] enables the user group-specific access to the files made available by the Twin-
CAT HMI Server.
While level one is purely a manipulation of the user interface on the client side, the second and third
levels offer real data security on the server side.
In order to be able to configure the rights of the system user groups at the individual levels, you
have to activate Advanced Mode in the TwinCAT HMI Configuration window.
"Observe" describes the general observability of the control and thus its visibility to the user. If this access
method is not permitted for the user group of the logged-in user, the control is not visible. This also applies to
all child controls of the control, if there are any.
"Operate" represents the general operability of the control. If this access method is not permitted for the user
group of the logged-in user, then the control is displayed as deactivated and no control events that could be
initiated by the user (operator events) are initiated.
The access methods are configured in the Properties window (Configuring control access [} 893]).
The access methods of a user control can be extended via special access methods, so-called virtual
permissions (Defining and using virtual permissions of a user control [} 896]).
3. Configure the desired permissions of the individual user groups; the following options are available for
this:
Allow: The access method is permitted for the user group.
Disallow: The access method is not permitted for the user group.
Inherit: The permission of the user group is derived from the higher-level parent control (container
control: View, Content, User Control, Container, Region or User Control Host).
Special cases
Operate and Observe are permitted for a view as standard (default = Allow). Since the view –as the entry
point to the HMI application –is always the highest container control, the Inherit option is not available.
• If Disallow is configured for at least one user group and Allow is not configured for any user group, the
access method is not permitted for the user (Disallow).
• If Inherit is configured for all user groups, the permission is derived from the higher-level container
control (Inherit).
Apart from Operate and Observe, a control can define other access rights [} 1295] (for example, "viewDetails
[} 286]" with EventGrid). Here too, the rights setting of the respective level is checked starting from the
respective control. If a control has defined Allow or Disallow here, then the user (as described above) has
the configured right. If Inherit is defined here, the higher-level parent control is queried for an explicit setting.
It can also be the case that this higher-level parent control does not know the access right. For example, a
fictitious right "configure" is discussed here that is not known to the View. It is assumed that a ControlTypeA
exists that knows "configure" and has set defaultValueInternal [} 1295] to true/Allow. ControlTypeB also
knows "configure", but has set defaultValueInternal [} 1295] to zero.
Sample 1:
• Desktop (TcHmiView) contains:
• MainContainer (TcHmiContainer) contains:
• myControlA (ControlTypeA) "configure" to Allow. Contains:
• myControlB (ControlTypeB) "configure" to Disallow.
Sample 2:
• Desktop (TcHmiView) contains:
• MainContainer (TcHmiContainer) contains:
• myControlA (ControlTypeA) "configure" to Allow. Contains:
• myControlB (ControlTypeB) "configure" to Inherit.
Allow acts on myControlB as its own configuration has no definition and the parent control has a direct
configuration.
Sample 3:
• Desktop (TcHmiView) contains:
• MainContainer (TcHmiContainer) contains:
• myControlA (ControlTypeA) "configure" to Inherit. Contains:
• myControlB (ControlTypeB) "configure" to Inherit.
myControlB and the parent control have no configuration of their own and neither TcHmiContainer nor
TcHmiView know "configure". Therefore the defaultValueInternal [} 1295] of the ControlTypeA is used as it is
the last control in the parent-child relationship to which "configure" is known and which defines a value (true/
false or Allow/Disallow).
2. Under Virtual Permissions, add the desired additional user control access methods. The following
properties can be configured here:
Name: Unique name of the virtual permission
Description: Description used as a tooltip
5. Assign a virtual permission for the desired access method to the selected control, which is to represent a
special access method of the user control to the outside.
The desired access method is now no longer configurable inside the user control. However, it is available for
configuration through the assignment of the virtual permissions as an additional access method of the user
control host when using the user control in the designer.
For the purpose of reusability of the user control, direct configuration of the access methods inside
a user control should be dispensed with. The independence of project-specific user groups is
achieved with this approach. Accordingly, the default access methods "Observe" and "Operate"
should be configured either with "Inherit" or as special access methods via the use of virtual permis-
sions. Special access methods of controls within a user control should always be fed to the outside
via the use of virtual permissions because the user control host only has the default access meth-
ods "Observe" and "Operate" as standard.
Group Symbol Access: Permitted default access method of a user group for all symbols (see also
Creating a new user group [} 890]).
Specific Group Symbol Access: Permitted user group-specific access method for the symbol that is
initially specified by the combination of Symbol Access and Group Symbol Access, whose
configurations mutually restrict each other.
However, it is also possible to overwrite this combination so that Symbol Access and Group Symbol
Access are invalid for this symbol for this user group.
Special cases
If a user is a member of several user groups, the combination of permitted access methods of the user
groups applies, which in this case mutually expand one another.
The permitted access methods for system server symbols can be configured in Advanced Mode.
Group File Access: Permitted default access method of a user group for all files (see also Creating a
new user group [} 890]).
Specific Group File Access: Permitted user group-specific access method for the file that is initially
specified by the combination of FileAccess and Group File Access, whose configurations mutually
restrict each other.
However, it is also possible to overwrite this combination so that File Access and Group File Access
are invalid for this file for this user group.
Special cases
If a user is a member of several user groups, the combination of permitted access methods of the user
groups applies, which in this case mutually expand one another.
Check Access
Function [} 869] for querying whether a certain control access method is permitted for the logged-in user or
not.
GoToLoginPage
Function [} 871] to open the login page without logging out the currently logged in user. This allows a user
change to be performed without a previous logout of the user.
Logout
Function [} 872] for logging out the logged in user from the TwinCAT HMI server. The function loads the
login page after the logout.
The login page can be replaced by a user-specific login dialog. This can be added to any TwinCAT HMI
project if required. The login page is edited in HTML, CSS and JavaScript. It is not possible to edit a login
page via the TwinCAT HMI Designer, as the framework is not yet loaded at the time of user login.
To do this, select the project node in the Solution Explorer and open the Properties window [} 51]:
The "Default" entry displays the standard login page of the TwinCAT HMI.
6.4.3.1 Login
The login command enables a user to log in to the TwinCAT HMI server and is sent to the server as a
WebSocket request in JSON format. If the authentication data is valid, the server allows the login and calls
the start page of the HMI.
The WebSocket request must be structured as follows:
var message = {
"requestType": "ReadWrite",
"commands": [
{
"commandOptions": ["SendErrorMessage", "SendWriteValue"],
"symbol": "Login",
"writeValue":
{
"userName": username,
"password": password,
"persistent": stayLoggedIn
}
}
]
};
In the template you will find this WebSocket request in the function "Login" in line 350.
The base functionality of the requests to the server contained in the template should not be changed in order
to ensure proper functioning of the login page.
inline graphics
Within an HTML file, graphics can be integrated as Base64 strings. The Base64 string can be used directly
in HTML code or CSS code. With the user-specific login page, this has the advantage that no user rights
have to be configured for the "__SystemGuests [} 892]" group in the server.
The "MIME-Type" specifies the original file format, the "Charset" the character encoding and "base64" the
data encoding. As an example of an SVG graphic:
<img src="data:image/svg+xml;base64,PD94bWwg…[rest of base64]"/>
The graphics can be encoded into a Base64 string via a Base64 Image Encoder. Encoding can be
performed using an online tool, for example.
A favicon can also be integrated into the HTML page as an inline graphic.
External resources
The integration of external graphics into the user-specific login page is possible if they are located within the
HMI project. First the graphic must be added to the project. The graphic can then be referenced within the
HTML file, for example within an HTML image tag:
<img src="manual_pressed.svg" />
Since no user is logged in to the HMI server at the time the login page is loaded, the rights of the
"__SystemGuests" group apply at this point in time. Therefore, this group must be granted explicit access to
the graphics to be used within the login page. Open the configuration page of the HMI server in the category
"General".
Open the configuration of the rights of the "_SystemGuests" group under "Usergroups".
1. Open LiveView and click the lock icon in the header bar.
2. Initialize the engineering server with a password for the user __SystemAdministrator.
You can also open the LiveView user administration simulation in a browser.
1. To do this, click on the corresponding entry in the dropdown list when selecting the browser:
2. A user can be logged out of the LiveView via a button in the HMI or the Logout button in the LiveView
header bar. This button logs out all users from all LiveView instances (if additional instances are open in
a browser window).
3. After a user logs out, the login page of the server is displayed. There you can then log in any user to test
the permission configuration.
It is not possible to manage (dynamically create) groups at runtime. The groups must first be created in
engineering and the rights to the corresponding controls configured. If the rights of a user are to be changed,
the group membership of the user can be changed.
The administration at runtime in the client is made possible by the Framework API. This can be used in the
JavaScript code.
The use of authentication via client certificates requires encrypted communication via HTTPS.
1. Open the TwinCAT HMI Configuration window and select the "Client certificates" tab.
2. Double-click on the <create new client certificate> entry or right-click on the "Client certificates" tab
and select "Create new client certificate...".
3. In the dialog that appears, you can define the properties of the client certificate.
4. The name of the client certificate is required. All other parameters can be optionally specified for sign-
ing the certificate.
A client certificate can be assigned to multiple users. A maximum of one client certificate can be assigned to
a user.
Engineering server:
Open the "Server" node within the TwinCAT HMI project in Visual Studio. Then open the "Extensions"
node and double-click on the "TcHmiSrv" entry:
Open the configuration page via the context menu by clicking on the entry "Config":
2. On the configuration page, click on the entry "TcHmiSrv" (1) and then go to the "Security" tab (2).
There you will find the entry "Only client certificates allowed to authenticate" (3).
3. Enable authentication using client certificates by setting the option to "true" (3). Confirm the action with
the button "Accept" (4).
4. Authentication using client certificates is active. If you have made the setting on the engineering
server, you can transfer [} 874] the project to a server on the target system.
5. The client certificates must be installed [} 914] in the clients that are to gain access to the system.
1. Open the TwinCAT HMI Configuration window [} 75] and select the category Client certificates.
2. Right-click on the desired certificate and select the entry Export PFX (client part) ...:
The exported certificate can then be installed on the target systems that are to authenticate themselves
using the certificate.
The following steps show the integration of a client certificate into a browser using the example of the
"Google Chrome" browser. Integration is performed in the same way with other browsers.
1. Copy the exported certificate to the target system.
2. Open the browser on the target system.
3. Open the settings of your browser.
4. Open the advanced settings and select Manage certificates.
5. Select the Import item:
You may have to switch to the PFX format in the Browse dialog:
9. The following dialog can be confirmed without entering a password with the default settings by clicking
on Next:
Open Client
Start the browser and open the HMI via the IP address of the server. When you access the server using a
client certificate for the first time, the dialog that offers the selection of a client certificate is opened in the
browser. Select your certificate there:
Access to the HMI is then granted. If the client certificate has been assigned to [} 912] a user, this user is
logged in automatically and the HMI is loaded. Otherwise you have to authenticate yourself with username
and password.
Communication with the server must be encrypted using HTTPS if you are using a client certificate.
Error handling
If you have already worked with client certificates before, it may happen that the browser skips the query for
a client certificate and access to the HMI is not granted. In this case, you can clear the browser cache and
restart the browser. The browser should then query the client certificate and access the HMI.
7 Event system
The central Event System is integrated in the TwinCAT HMI server. It is possible to manage events from the
HMI server and its extensions. For the connection to the TwinCAT 3 EventLogger with local or remote real-
time systems, the EventLogger [} 922] extension can also be used. Prerequisite for this is the installation of
the EventLogger extension [} 922].
To display current or historical events, the EventGrid Control [} 924] and the EventLine Control can be used,
which can be configured flexibly.
Configuration
In the TwinCAT HMI Server configurations [} 880] the EventLogger extension can be configured. There you
can define the connections (Target Systems) with which the Engineering HMI Server (Publish Configuration:
Default) or the Remote HMI Server (Publish Configuration: Remote) communicates. By default, the extension
connects to the local TwinCAT 3 EventLogger (Local). Remote target systems can also be entered if the
ADS route is configured.
Licensing
One target license is counted per EventLogger. If an ADS connection is also configured with the same NetId,
only one target license is counted.
The Event Grid Control is located in the Toolbox under the category Beckhoff, from where you can insert it
into an HMI page by drag-and-drop.
Apart from the tabular display of the alarms and messages, the control offers various configuration options in
the engineering and during the runtime in the browser.
Detailed view
A detailed view can be displayed for each message and alarm in the Event Grid. The detailed view is opened
by selecting a row in the Event Grid and double-clicking on the row. The detailed view provides additional
information about the event.
Filter
Filters enable the display of alarms and messages according to certain criteria. It is possible, for example, to
display only active alarms or to filter according to a certain time period. The filters can be configured under
Filter [} 276] in the control's properties.
You can switch between different filters at runtime by calling a WriteToSymbol [} 63] for the filter of the Event
Grid. Alternatively, you can use various filter settings via the control's menu bar [} 287].
Columns
The configuration of the columns defines which columns are displayed in the Event Grid Control. By default
the type (alarm or message), the severity, the timestamp of the input and the associated text are displayed.
Further columns such as the time of the confirmation can be configured in the control's properties [} 277].
The settings apply to all clients.
There is an option at runtime to change the columns displayed per client. To do this, open the column editor
from the menu bar [} 287]. The column editor automatically opens a popup with an overlay and positions
itself in the center of the view:
Confirming an alarm
An alarm can be confirmed by selecting the row containing the alarm and clicking on the button Confirm
alarm (single check mark) in the menu bar [} 287].
If several alarms are active, there is an option to confirm all alarms simultaneously. To do this, click on the
button Confirm all alarms (two check marks) in the menu bar [} 287]. A popup with an overlay then opens
automatically and displays all active alarms. At this point the operator has the option to abort the dialog or to
confirm the active alarms.
Permissions
Within the context of an authorization system it may be useful to allow only certain operators to access the
Event Grid. In addition, individual operators may be assigned rights to confirm the events. Rights are
configured in TwinCAT HMI at two levels (see User Management [} 887]).
At control level the configuration right (configuration at runtime) and the right to a detail view can be granted
[} 286] explicitly in addition to the standard rights for the Event Grid.
The right to confirm the alarms can be granted at symbol level. To do this, open the rights management
[} 897] in the expert view.
Further configuration options for the Event Grid Control can be found here [} 270].
Example
An example of the use of the event logger with the Event Grid: Example [} 1328]
The example shows two different configuration options for the Event Grid and the associated PLC project, in
which example alarms and messages can be generated.
8 Internationalization
Internationalization in TwinCAT HMI enables the management of languages and units and their switching in
the client. Furthermore, the administration of different time zones and time formats is supported.
In the Designer, [} 54] the keys are linked directly to the respective control properties. [} 58] The texts behind
the respective keys are resolved in the Designer directly in the currently active language.
The language tables (localization files) of a TwinCAT HMI project are managed in the Localization editor.
[} 102] Language tables can be added to the project as a new TwinCAT HMI item. [} 884]
The active language can be switched at runtime in the client, regardless of which language settings have
been specified in the project properties and for the logged in user. The switchover at runtime is realized with
the function "SetLocale [} 863]", which can be used in the Actions & Conditions editor. [} 59]
Conversion of values
The conversion of the units is solved by functions [} 850]. A function is linked to the Control property in
[} 106] the properties window and returns the converted value. As a parameter value, the function receives
the output value that is present in a certain unit.
Within the function, the developer can convert [} 1218] the corresponding value (e.g. from a symbol in the
PLC) into the desired unit. The respective unit can be added to the converted value directly within the
function as a string or alternatively stored as a language key.
Switching units
The units can be switched depending on the language or any other event. To do this, another parameter is
passed to the function that contains the unit into which the value is to be converted. As soon as this
parameter changes, the function is automatically called again and the value is converted and returned
accordingly.
For example, pass an internal symbol [} 85] to the function that contains the unit into which the value is to be
converted. The unit can be written anywhere in the internal symbol. Possible scenarios are e.g:
• "onLocaleChanged [} 97]": This global event is triggered as soon as a language is loaded. At this event
the unit can be written into the internal symbol according to the active language [} 863].
• Events: Depending on any event, [} 37] a unit can be written into the internal symbol. The event can be
triggered, for example, if a value in the PLC changes or the user has pressed a button on the user
interface.
8.3 Localization
Localization in TwinCAT HMI enables the management of different time zones and time formats. The server
is based on the UTC time. Some controls (for example, the Event Grid and the Trend Line Chart) require a
timestamp. To display the times on the client according to their region (with time offset), the time zone and
time format can be specified in the project properties or per user.
The setting of the time zone and time format can be set for the project in the project properties [} 51].
The time zone and time format settings can be set per user [} 887]. This setting overrides the setting in the
project properties when user authentication is active.
1. To add more layouts to the project, right-click the KeyboardLayouts folder and click Add, New item
2. In the following dialog, select Keyboard Layout and confirm with OK:
The wizard for selecting a keyboard layout then opens. Here you can filter or search according to your
criteria. The wizard includes a tabular listing of the keyboard layouts shows the differences between them.
3. You can select multiple layouts in the wizard using the checkbox. When you have made your selection,
confirm and exit the wizard by clicking Finish.
4. To display the corresponding layout in the keyboard, open the Designer, select the keyboard and then
open the Properties window. There you will find the property Layout File:
5. Click the button to open the following dialog. It contains a selection of all layout files available in the
project. Select the desired layout and click OK.
The keyboard layout can also be switched dynamically at runtime using the Actions and Conditions Editor
[} 59].
9 Themes
The theme system allows you to switch the design of all elements. The theme can be switched during
runtime per client or globally in the project properties. Only one theme can be active at a time (similar to
language switching [} 928]). A theme can change the appearance of a control (e.g. Top [} 697], Left [} 697],
Width [} 698], Height [} 699], BackgroundColor [} 705] etc.). Besides the appearance of the control, all
control attributes [} 109] can be changed.
A theme can be created via the integrated theme editor or directly as a CSS file.
9.1 Introduction
In a TwinCAT HMI project, the various themes are located under the Themes project node:
The theme node contains all themes defined for the project. For each theme there is a .theme file, which
contains the JSON definition of a theme and can be opened with the theme editor.
The default theme can be viewed and switched under the general project properties (click on the project
node and open the Properties window).
For a new project, the base theme is included in the project and set as the default theme. The base theme
includes the font setting, which is included at project level regardless of the theme (see Fonts). In addition,
each TwinCAT HMI Control has a base theme, which describes the design of the control if this is not
explicitly overwritten by the developer in Engineering or by another theme.
Add a new theme by right-clicking on the Themes project node under New\Add New Item. In the dialog
select the type Theme and click Add.
The new theme contains the .theme file, which can be opened via the theme editor [} 936].
You have a choice between a Cascading Style Sheets file and a CSS control theme file (see CSS theme
[} 941]).
2 Theme Control Types and Classes: In this area you can select whether a Class theme [} 937] or a
Control theme [} 940] should be edited.
3 Themeable Attributes: In this area you select for which attribute a property is to be defined, depending on
the respective theme.
Only those attributes are displayed that can be changed via the theme.
4 Attribute Properties: In this area, the property for the respective attribute is set. Any number of properties
can be set for each Class theme and each Control theme.
1. Open a theme in the theme editor, right-click on Control Classes and select Create new Control Class:
2. Added control classes that do not yet contain definitions are initially grayed out in all themes:
3. You can define any number of attribute properties for a control class. All control attributes are available:
4. The control class must be assigned to a control for the properties to apply to the control. Open the
Properties window for a control and select the entry ClassNames under Common:
5. In the dialog, select the control classes that you want to add to the control. To do this, select the required
control class and press the arrow. Confirm the dialog with OK:
ð The control class is now assigned to the control, and the properties of the control class are used.
If you add several classes to a control and each class describes the same attributes, the properties
of the last class in the list apply (analogous to the class selectors in CSS).
To display the attribute properties of the class theme, the attribute must not be explicitly set at the control.
The control colors must be set to Theme.
Control types that contains defined attribute properties are shown in bold font. To change the attribute
properties for a control type at a later stage, select the respective control type again. The existing
configurations are then automatically displayed in the center of the theme editor. A property that has already
been configured can be deleted by selecting it and then pressing the Delete key.
To display the attribute properties of the Control theme, the attribute must not be explicitly set at the
control. The control colors must be set to Theme.
CSS files can also be added at project level, independent of a theme. These files define general properties
such as the inclusion of fonts.
A Cascading Style Sheets file allows the definition of any CSS properties for all elements contained in the
project (standard controls, framework controls etc.). In addition, specific CSS classes can be overwritten by a
control. All CSS selectors and CSS properties are available within a CSS file.
If a class theme [} 937] is defined in the theme editor, it can be addressed in the CSS code via the class
name with the prefix tchmi-class-. Example:
tchmi-class-myclassthemeclass
A CSS control theme file can be used to replace specific CSS properties of the base theme. This is made
possible by importing all CSS properties of the control into the CSS control theme file of the project.
In the next window you have to select the control for which you want to create a CSS control theme file.
In this dialog you can select several controls for which a CSS control theme is to be generated. You must
also select from which theme the CSS control theme should be derived. If you select the Base theme, all
properties defined in the Base theme of the control are displayed.
Some controls contain further TwinCAT HMI Controls, e.g. the Event Grid. This is indicated in the dialog by a
note (upside down exclamation mark) after the control. If you want to overwrite all properties, you must also
include the CSS files of the child controls. For more detailed information about the dependencies between
the individual controls, see the documentation for each control.
The following example shows a CSS control theme file for the control TcHmiButton [} 168]:
/** Styles for the theme: Base */
color: #4794da;
/* default box shadow */
box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.6);
}
The default theme can be viewed and switched under the general project properties (click on the project
node and open the Properties window).
The theme editor [} 936] features the Default Theme property in the header bar at the top, irrespective of
the theme. There you can set the default theme in the same way as in the project properties.
Switching at runtime
The theme can be switched during runtime in the browser for each client [} 16]. To do this, an action must be
configured, e.g. on the .onPressed event of a button (so that the theme is switched when a specific button is
pressed). In the Actions and Conditions editor, the Theme folder contains the SetTheme function under
functions. Use drag & drop to add this function under the actions and enter the name of the theme by
selecting it in the combo box.
Switching classes
In certain cases it is necessary to switch not the entire theme, but only the properties of a group of elements
or a particular control instance during runtime. This is possible if different theme classes [} 937] are defined
for the control. During runtime the attribute ClassNames [} 696] of the control is then set again. To do this, an
action must be configured at runtime, as for theme switching.
A control attribute, which is set by an attribute definition directly at the control (Level 1 [} 945]), can be set to
the value of the currently active theme during runtime with the SetAttributeToThemeValue [} 868] function.
The value of the attribute is then changed according to the active theme each time the theme is switched.
This function is used if individual control attributes are to be overwritten and then reset to the value
of a theme.
9.4 Concept
Theming in TwinCAT HMI distinguishes between control-based themes and class-based themes. A control
theme [} 940] specifies properties that apply to all instances of the respective control type. A class theme
[} 937] specifies properties that only apply to controls to which this class is assigned. You can assign several
classes to a control.
The theme properties can be set at different levels. Cascading Style Sheets use a comparable approach in
the sphere of web development, for example. The levels determine which property applies to an element if
different properties are defined for an element. The properties of the higher levels are overwritten by the
properties of the lower levels, if these are defined. The lowest level is level 1, which overwrites all properties
of the higher levels.
This level describes the appearance using attribute definitions at the control. In analogy to the CSS world,
this level would be a "style" attribute that is defined directly at the element.
Like level 1, these levels describe the appearance using attribute definitions at the control. In analogy to the
CSS world, these levels would be external CSS files.
Like levels 1-4, this level describes the appearance using attribute definitions at the control. If nothing is
specified above levels 1-4, this defaultValueInternal value applies. In the analogy to the CSS world these
levels would be comparable to the font color black, for example, which applies even if nothing else has been
defined.
These levels describe the appearance of a control using Cascading Style Sheets files if the appearance of a
control cannot be defined using an attribute or has not been defined using an attribute.
The attribute definition on a control instance overwrites all properties defined by a theme. The attribute
definition at the control [} 109] is specified in the Properties window or directly in the HTML code. The
attribute definition at the control follows the usual procedure for overwriting the default properties of the base
theme if no other theme is defined.
The attribute definition in a class [} 937] is specified in the theme editor of the respective theme at project
level. The class is added to a control as a property so that it automatically adopts the attribute definitions of
the class. The attribute definition in a class overwrites the attribute definition for a control type if both
definitions contain the same attribute.
The attribute definitions in a control type [} 940] are specified in the theme editor of the respective theme at
project level. The attribute definition in a control type applies to all instances of the respective control in the
project and is only overwritten by level 1 or level 2.
The attribute definition per control type at control level [} 1247] is specified directly in the directory of the
control and is defined by the control developer. The definition is the same as in level 2 within a .theme file.
For the standard controls, this property cannot be changed at the control level. The attribute definition per
control type at control level is therefore only available for framework control developers.
The DefaultValueInternal [} 1240] defines the properties of an attribute independent of the active theme and is
used if the attribute is not overwritten by a theme at the higher levels.
At project level it is possible to add, in addition to the .theme file of the theme editor, any number of CSS files
to a theme in the project (see Introduction [} 934]).
If a control is described in the theme editor and also in a CSS file within the theme, the definitions
within the theme editor (lower level) apply.
At the project level, any number of Cascading Style Sheets files can be defined, independent of a theme.
This option has been available since version 1.8 under the name CSS-Behind file. The definitions within the
CSS file at the project level overwrite the CSS definitions at the control level and apply regardless of the
theme.
Any CSS-Behind files at project level, which were already added to the project with version 1.8,
can still be used. When using different themes, it usually makes sense to assign this file to a spe-
cific theme.
Any number of Cascading Style Sheets files can be added to a theme at the control level. The CSS
definitions at control level describe the normal layout of all elements of a control. These properties apply if no
properties of the control are overwritten by a theme at the higher levels. Each control should implement at
least one theme called Base.
At the control level, you can add any number of general Cascading Style Sheets files that describe the
properties of elements, regardless of the theme.
10 Historical data
Historical data are data from earlier times that are stored in a database.
Arbitrary server symbols of the TwinCAT HMI (e.g. numerical values from the PLC) can be historized by the
TcHmiSqliteHistorize extension. The extension saves the data in a ring buffer in an SQlite database. The
interval at which the data are saved in the database can be defined for each symbol. The data are saved in
the database only as long as the server is running. No historical data are written to the database if the server
is terminated.
The historical data are displayed in an included control – the Trend Line Chart. The control enables the
display of various historical data at the same time.
Configuration
The extension configuration page is opened with a double-click on the extension in the Solution. Alternatively
this can also be called via the server configuration page on the TcHmiSqliteHistorize tab.
On the configuration page you have the option to create new historized symbols and to define the storage
location of the database and all historized symbols. By default the historized symbols are stored on the local
hard drive. Alternatively they can be saved directly in the computer's RAM.
NOTE
Loss of data
If saved in the RAM, the data will be lost in the event of the PC being (unexpectedly) shut down.
In order for a symbol to be used as a historized symbol, it must be mapped [} 79]. A historized symbol can
be added in two different ways:
A historized symbol can be added in the TwinCAT HMI Configuration [} 75] window, where a dialog is
available for adding the symbols. Instructions for this can be found here [} 81].
Extension configuration:
A new historized symbol can be added via the Add button on the configuration page of the
TcHmiSqliteHistorize extension. A dialog then opens for adding the symbol.
1. Linked Server Symbol: Mapped server symbol to be historized. All mapped server symbols are dis-
played in the combobox.
The Trend Line Chart Control is located in the Toolbox under the category Beckhoff, from where you can
insert it into an HMI page by drag-and-drop.
The control offers various configuration options in the engineering and during the runtime in the browser.
Detailed view
If the live view in the Trend Line Chart has been paused, you can view individual data points with the aid of
the zoom functions. Hovering with the mouse over a data point will bring up a display of detailed information
on the time and data point.
Configuring axes
If you wish to display a historized symbol in the Trend Line Chart you must first carry out a Y-axis
configuration [} 644] for the symbol. Select the control and open the Properties window, where you select
the property Y Axis under the category Y Axis. An editor then opens that enables the configuration of a Y-
axis as well as the addition of further axes. Configure the axis [} 645] according to the settings that you need
for the historized symbol (e.g. min. and max value on the Y-axis).
Then confirm the dialog with OK and open the descriptions of the chart [} 644] (LineGraphDescriptions) in
the category Common in the Properties window, where the configured Y-axes are linked with the historized
symbols. Add a new description and select the historized symbol as well as the associated Y-axis. The
available historized symbols or Y-axes respectively are displayed in the comboboxes.
Confirm the dialog with OK. You can then start the LiveView or publish the project on a server and view the
historized symbol in the chart.
You can configure the update rate of the control in the Trend Line Chart Control. The update rate can be
found under the entry Interval in the category Common. The update rate is specified in milliseconds.
If you have a historized symbol with an update rate of 100 ms, you should also set the update rate
of the control to 100 ms, as otherwise the control will be updated, for example, at 1-second inter-
vals, even though your data are already available every 100 ms.
The start and end times of the historized data displayed can be configured in the control's Properties
window. The times can be specified as time interval, point in time or "First or Latest" respectively.
In addition, it is possible to set the start and end times of the historized data displayed in the browser for
each client (see menu bar).
Menu bar
The Trend Line Chart Control has a menu bar that can optionally be displayed under the properties of the
control (ShowMenuBar in the category MenuBar). The menu bar enables the analysis of the data at runtime
in the browser:
1. Start time: Start time of the historized data displayed (First for the beginning of the recording).
2. Select time interval: Select the time interval for the start time (e.g. two minutes before the last value).
3. Select point in time: Select point in time for the start time (e.g. 6/16/2018 at 5:53 pm).
4. End time: End time of the historized data displayed (Latest for the last recorded value).
5. Select time interval: Select the time interval for the end time.
6. Select point in time: Select the point in time for the end time.
7. Start live view: The live view can be started after pausing the live view.
8. Pause live view: The live view can be paused in order to view data points in greater detail.
9. Shift data on the X-axis: The data displayed can be shifted on the X-axis if the live view has been
paused.
10. Shift data on the X and Y-axes: The data displayed can be shifted on all axes if the live view has
been paused.
11. Zoom X-axis: When this button has been activated you can zoom in on the X-axis with the aid of the
mouse.
12. Zoom X-Y-axis: When this button has been activated you can zoom in on both axis equally with the
aid of the mouse.
13. Reset Zoom: This button resets all zoom settings.
Further configuration options for the Trend Line Chart Control can be found here [} 635].
Example
An example of the use of the historized symbols in interaction with the Trend Line Chart Control: Example
[} 1329].
The example shows two historized symbols (the associated TwinCAT project is included) and the associated
configuration in the Trend Line Chart Control.
11 Package management
The package management in TwinCAT HMI makes it possible to export TwinCAT HMI components such as
a Framework Control [} 1223] or a Server Extension [} 1202] into a package. These packages can easily be
installed in further TwinCAT HMI projects. This allows libraries to be created for HMI components to facilitate
exchange within a company.
Many extensions in TwinCAT HMI are themselves delivered as a package and can optionally be installed in
a TwinCAT HMI project.
TwinCAT HMI packages are supported up to and including version 1.10. The package management
in version 1.12 is based on NuGet as package management system [} 965]. Legacy support for the
TwinCAT HMI packages is also available in version 1.12.
2. Assign a version. (The name is not editable as it is assigned via the project name).
3. Select Next.
5. Optionally, select an Industrial Field for the package and specify the repository for the package. The
following options are available for this:
Export to local repository: Save in C:\TwinCAT\Functions\TE2000-HMI-Engineering\References
To provide the package with further metadata (e.g. author, description), edit the file Manifest.json in
the associated TwinCAT HMI extensibility project.
2. Select the package that you wish to install. The following sources are available for this:
Solution – Repository: Local repository (under C:\TwinCAT\Functions\TE2000-HMI-
Engineering\References)
ð The package contents are now available for use in the TwinCAT HMI project – framework controls inside
the Toolbox, server extension in the Server Extensions area.
The Install option is only available in case the Package does not auto-install and another version of
this package is not installed.
In order to be able to save a package without an associated TwinCAT HMI extensibility project in
the repository, it must be saved manually in C:\TwinCAT\Functions\TE2000-HMI-Engineering\Refer-
ences.
2. Select the package that you wish to uninstall. The following sources are available for this:
Solution – Repository: Local repository (under C:\TwinCAT\Functions\TE2000-HMI-
Engineering\References)
ð The package contents are no longer available for use in the TwinCAT HMI project.
If no updates of the package take place and the package is really to be removed, all references to
the package used in the TwinCAT HMI project should be removed (Framework Control: remove all
instances / Server Extension: remove all mapped symbols of the server extension).
Since this is an update of the package, all references to the package used in the TwinCAT HMI
project should be retained after uninstalling the package (Framework Control: all instances / Server
Extension: all mapped symbols of the server extension).
Package management also enables export of several elements into one package, so that a whole control
library can be contained in one NuGet package, for example. In addition, dependencies between packages
can be defined such that when a package is installed, another package is automatically installed with it.
NuGet also offers update management, so that users are automatically informed when a new version of a
package is released and can install it directly.
The TwinCAT HMI components such as the TwinCAT HMI framework or a server extension are provided
with version 1.12 as a NuGet package. The packages are provided in the public repository at nuget.org
under the official Beckhoff account. Updates are also rolled out in this way.
The NuGet packages installed in an HMI project can be found in the project under the References node. A
new project contains the TwinCAT HMI Framework, the TwinCAT HMI Controls and the TwinCAT HMI
Functions as standard.
2. In the NuGet Package Manager you will then find an overview of the currently installed packages:
4. Make sure that the correct repository is selected in the upper right corner under Package source:
1. Repository explanations:
ð The package will now be installed. Detailed information about the installation progress can be found
in Package Manager Console:
ð After successful installation the package can be found under References node, and the corresponding
functions can be used:
and the package functions can no longer be used. References (such as a control instance from a control in
the package) are not automatically removed. If you subsequently see errors in the browser console, check
that you are not trying to use any other resources from the removed package.
Alternatively, you can remove the package using the NuGet Package Manager:
1. Open the NuGet Package Manager by right-clicking the References node under Manage NuGet
Packages.
ð The package has been removed, Detailed information about the uninstall progress can be found in the
Package Manager Console.
1. Click Manage NuGet Packages... to open the NuGet Package Manager. All available updates are
displayed under the Updates tab.
2. In the next step you can choose between updating the packages individually (select a package and click
Update in the right section) or updating multiple packages via Select all packages or by selecting
several individual packages.
ð The NuGet packages have been updated. Information about the current progress can be found in the
Package Manager Console.
The Update button can also be used to downgrade NuGet packages. To do this, select the required NuGet
package and the required version from the dropdown list, then click Update:
1. Right-click on the respective project node and click Create NuGet Package... in the context menu:
2. Confirm the following query with YES to include the latest version of your sources in the package:
ð More detailed information about the current progress can be obtained from the Package Manager
Console.
Click Explore to open the local repository for user-specific NuGet packages. This can be found in the
installation directory under:
C:\TwinCAT\Functions\TE2000-HMI-Engineering\References
ð The NuGet package can now be installed in an HMI project [} 966]. Select TwinCAT HMI Customer as
package source.
Both project types contain a *.nuspec file, in which meta information for the respective NuGet package is
defined. The nuspec file at the top level in the respective project type:
For information on the structure of the *.nuspec file please refer to the corresponding Microsoft
documentation.
ð After the migration is complete, a migration report opens in your web browser:
ð The project now contains the NuGet legacy packages. All framework controls are put together into
one package. Server extensions are added separately in a separate package.
The migration wizard automatically converts TwinCAT HMI Framework Control projects to TwinCAT HMI
Framework projects. You can create NuGet packages from these in version 1.12.
12 Recipe management
The recipe management enables the activation of symbol values that are managed in recipes. Furthermore,
online values from the development environment and from the visualization clients can be saved by the
target system in a recipe. Prerequisite for the use of the recipe management is the installation of the Recipe
Management extension [} 978].
A fundamental distinction is made between recipe types and recipes. Comparable with a class in the object
orientation, a recipe type is a general description of a set of symbols. On the basis of this description you can
create various recipes, comparable with an instance of a class. Specific values for the symbols defined in the
recipe type can be saved in a recipe.
The definition of colors as color codes is used as an example. In this example the recipe type Color
describes the general structure of a color with its red, green and blue components. Three color recipes for
yellow, light gray and navy are created on the basis of this description. The color components defined for
these colors are each saved in the three different recipes.
If, by default, certain recipe types are to have a base set of symbols managed in a central place, then these
recipe types can inherit [} 982]from one or more recipe types. As a result they contain the symbol entries
configured in these parent recipe types. These entries are automatically updated in case of changes being
made in the parent recipe types.
In order to reuse [} 983] already defined recipes in other recipes, a recipe type may possess one or more
recipe types as members, comparable with standard symbol entries. To do this you can drag-and-drop the
recipe type of the recipe to be reused from the TC HMI Configuration window into the Recipe Editor [} 987] in
the base recipe type and then enter the recipe to be reused into the recipes derived from it.
See also
Recipe [} 865]
The Recipe Management extension does not offer a configuration page. The configuration of the recipe
types and recipes [} 978] is done in TwinCAT HMI Engineering.
You can then insert recipe types, recipes or further folders in the folders.
Existing folders can be deleted with a right click on Delete and renamed by right-clicking on Rename.
The Recipe Type Editor [} 980] is opened with a double click on the recipe type or by right-clicking on Edit.
New symbols can be added directly to the recipe type by drag-and-drop on the TwinCAT HMI configuration
window. Alternatively, they can be added to the toolbar via the + button.
Symbol list
Server symbols that are to be added to a recipe type can either be placed in the symbol list by drag-and-drop
from the TwinCAT HMI configuration window or selected in the symbol selection window, which is accessible
via the toolbar [} 988]. The symbol list has different columns.
Display Name The name to be used for the symbol entry in the recipes derived from the recipe type is
defined here.
Symbol This entry is automatically set by drag-and-drop.
Default Define a default value here that is adopted automatically when creating a new recipe.
Note: A value must be entered here so that the recipe type can be saved. The Read
Default Values from Target function in the toolbar can be used to adopt the current
values of all symbols from the PLC into this field.
Min If necessary, define a minimum value for this symbol here that can be used in the recipes
derived from the recipe type.
Info: This field is available only with numerical values and enumerations.
Max If necessary, define a maximum value for this symbol here that can be used in the recipes
derived from the recipe type.
Info: This field is available only with numerical values and enumerations.
Unit If necessary, enter a unit for the symbol here.
Enabled Activate or deactivate individual symbols for the recipe type here.
Note: This setting is automatically adopted for the recipes derived from the recipe type. On
activating one of these recipes, the values of the deactivated symbol entries are not written
to the corresponding server symbols.
Comment If necessary, enter a comment for the symbol entry here.
You can mark several symbol entries in the symbol list at the same time by keeping the Ctrl key pressed
while selecting the individual entries. This allows you, for example, to delete several entries at the same time
with the Delete key or the X button.
Other recipe types can also be added by drag-and-drop in the symbol list for the reuse of recipes in other
recipes [} 983].
Toolbar
You can execute various functions via the toolbar in the upper area of the editor.
Delete selected rows The selected entries in the symbol list are deleted from the
recipe type.
Create new group A new group in which the symbol entries can be summarized is
created in the symbol list.
Read default values from target The default values are read from the target and entered for all
symbol entries.
Read default values of the selected The default values are read from the target and entered only for
rows from the target the selected symbol entries.
Add symbols to this recipe type The symbol selection window is opened,
where you can select the desired symbols and add them to the
recipe type as an alternative to drag-and-drop.
General settings
In the lower part of the editor you can configure generally valid settings for the entire recipe type.
Inherited From Select one or more recipe types from which the currently opened recipe type should inherit
[} 982].
Enabled Activate or deactivate the entire recipe type here.
Note: The recipes derived from the recipe type are deactivated automatically.
Comment If necessary, enter a comment for the entire recipe type here.
3. In the subsequent window you have the possibility to select the base recipe type:
2. Add a recipe type from the configuration window to the new recipe type by drag-and-drop.
3. The recipe type is now contained as a member. The recipe type can subsequently be replaced by
another recipe type by clicking on the … button behind the symbol name.
2. Confirm the dialog with OK if you wish to delete the selected recipe type(s) including all recipes derived
from it/them.
2. Enter a name for the new recipe in the Create new Recipe dialog.
3. Using the … button, select one of the existing recipes on which the new recipe is to be based.
4. Confirm the dialog with OK.
The Recipe Editor [} 987] is opened by double-clicking on the recipe or right-clicking on Edit.
Symbol list
All symbol entries with the information defined in the recipe type are shown in the symbol list. Here you can
change the values of the individual entries, save them together with the recipe and manage them via the
toolbar. [} 988] You can mark several symbol entries at the same time by keeping the Ctrl key pressed while
selecting the individual entries.
Toolbar
You can execute various functions via the toolbar in the upper area of the editor.
Activate recipe The values saved in the recipe are written to the symbols.
Read values from target The current values of all symbols are read from the target and
written to the recipe.
Read values for the selected The current values of the selected symbols are read from the
symbols from target target and written to the recipe.
Show the online values for the The current values of the symbols are displayed in an extra
symbols column.
Import recipes The recipes selected in the dialog are imported into the server.
Export recipe The opened recipe is exported with a name that is to be defined.
General Information
General information about the recipe is displayed in the lower part of the editor.
Based on The recipe type on which the recipe is based is displayed here.
Recipe Type
Authorization concept
If user authentication is active, [} 887] you must explicitly enable access to the recipe configuration for the
desired user groups. Access is not granted by default. Open the authorization system for the symbols [} 897]
in the extended view [} 75] and search for the term "TcHmiRecipeManagement.Config". You can assign the
corresponding authorizations on this symbol.
12.3.1 Example
The recipe management example shows the use of the recipe management [} 977] at runtime. It thereby
extends the functions available in the Actions and Conditions Editor [} 59] by the use of the Framework API.
The example serves as the point of entry to the recipe management and can be extended as desired. In
parallel with the example project, observe the chapter "Management in the engineering [} 978]".
The example consists of a TwinCAT HMI project and a TwinCAT project with example symbols in the PLC.
The example contains a total of three symbols, which are used by two different recipe types. Symbol 1 and
Symbol 2 are the symbols from the PLC and Symbol 3 is an offline symbol [} 79]. The offline symbol
illustrates that symbols from other sources (OPC UA, use-specific server extension, etc.) can also be used
as the ADS extension.
User interface
The example has a user interface in the client that can execute various functions of the recipe management
at runtime. These are described in more detail below.
1. Recipe selection: All available recipe types are displayed in the combo box. If there is a recipe inside a
folder, the relative path to the recipe is displayed. The combo box is used to select the recipe that is used as
the basis for the other buttons and fields in this example.
2. Teach and activate recipe: The recipe currently selected in the combo box can be edited in this area.
• Teach selected recipe: The currently selected recipe is taught again. This means that the current online
values are adopted from the PLC and saved in the recipe.
• Teach as new recipe: A new recipe is created with the current online values from the PLC on the basis
of the currently selected recipe. A new name for the recipe must be entered in the text box.
• Activate selected recipe: The currently selected recipe is activated. This means that the values stored
in the recipe are written to the corresponding symbols in the PLC.
• Delete selected recipe: The currently selected recipe is deleted.
3. Upload and download recipe: This area enables recipes to be downloaded and uploaded. The file
browser of the respective browser that enables the selection of the storage location or the selection of the
recipe thereby opens.
The upload and download functions are not available in the LiveView in Visual Studio.
4. Display and edit recipe: This area enables the display and editing of the recipe members (symbols) of
the currently selected recipe.
• Datagrid: The currently selected recipe is loaded and the individual members are displayed in the data
grid. The "New value" column has two different functions. Firstly, the column is used to receive new
values for the individual members of the recipe, which are subsequently saved by clicking on the
Update selected recipe button. Secondly, the column is used to display the current online values of
the members for comparison with the stored values by clicking on the Read values from target button.
• Update selected recipe: This button saves the recipe with the new values specified in the "New value"
column.
• Read values from target: This button reads out the current online values of the recipe members and
displays them in the "New value" column.
5. Online recipe values: The current online values of the three symbols Value 1, Value 2 and Value 3 are
displayed in this area.
The functions can be found in the HMI project in the RecipeFunctions folder.
Since all functions are called asynchronously [} 1211], they are additionally given a context object [} 1220]as a
parameter value. This provides information about the success or failure of the function.
ConvertDatagridToRecipe
The ConvertDatagridToRecipe function reads the current contents of the data grid and saves them in the
transferred recipe. This function is executed by clicking on the Update selected recipe button.
Parameter:
Return value:
Type Description
void No return value.
ConvertRecipeToDatagrid
The ConvertRecipeToDatagrid function displays all members of the transferred recipe in a data grid. The
function is transferred to the SrcData attribute of the data grid when changing the selection in the combo box
in order to load the newly selected recipe.
Parameter:
Return value:
Type Description
void No return value.
The data set for the data grid is transferred to the context object.
DeleteRecipe
Parameter:
Return value:
Type Description
void No return value.
DownloadRecipe
The Download function enables the download of a transferred recipe as a JSON file. This can then be
imported using the UploadRecipe function.
Parameter:
Return value:
Type Description
void No return value.
The upload and download functions are not available in the LiveView in Visual Studio.
ListRecipeAsReferenceArray
The ListRecipeAsReferenceArray function creates an array of all available recipes that is needed for the
selection in the combo box. The function is used on the SrcData attribute of the combo box.
Parameter:
Return value:
Type Description
void No return value.
The data set for the combo box is transferred to the context object.
UpdateDatagridFromTarget
The UpdateDatagridFromTarget function lists the current online values of the recipe members of the
transferred recipe in the "New value" column in the data grid. The function is executed by clicking on the
Read values from target button.
Parameter:
Return value:
Type Description
void No return value.
UploadRecipe
The UploadRecipe function loads a recipe from a JSON file into the recipe management. Recipes that were
exported using the DownloadRecipe function can be imported with this function.
Parameter:
The recipe in the form of the JSON file is selected directly via the file browser in the browser.
Return value:
Type Description
void No return value.
The upload and download functions are not available in the LiveView in Visual Studio.
13 Project Generator
The Project Generator is used to quickly and easily create a base frame for the HMI. In this you can
customize a navigation tree.
Editing with the Project Generator is possible only once. Once you have completed your configura-
tion, the configurator cannot be opened again. Changes have to be made in Engineering after-
wards.
1. Elements available
2. Drop area for elements
3. Adding breadcrumb navigation
1. MediaQuery
2. Add new MediaQuery
3. Adjust switching range in px
4. On selection: name of the MediaQuery
5. On selection: behavior of the navigation
6. On selection: delete the MediaQuery
Build navigation
1. MediaQuery
2. Switching range in px
3. Preview of the two versions
Build navigation
3. After confirmation, a configurator opens. Here you have the choice between different templates. Select
the appropriate template for your application.
ð The "Base Application Template [} 1005]" is a template in the classic HMI design
ð The "Web Navigation Template [} 1008]" is based on a modern website design.
1. The first step is about the behavior of the HMI. A distinction is made here between a "static" or a
"responsive" application.
ð The static application is an HMI that works with fixed pixel values. With different resolutions there is
only the possibility of scaling.
ð In the responsive application, the HMI is adapted depending on the resolution. It is possible to set
"Media Querys".
2. Define their areas in the HMI. To do this, you can drag controls into the HMI layout from the left side.
This offers various docking options. However, you can also move or delete elements that have already
been placed.
3. This step is available only if the responsive application is selected beforehand. In order to use the
responsive design optimally, MediaQuerys must be defined. These describe when a break occurs.
4. Create their navigation structure. Add new main nodes or sub-nodes. For created nodes there is a
possibility to choose different templates. Furthermore, the nodes can be moved freely in the structure. If
you want to finish the configuration, click the Finish button.
1. The first step is about the behavior of the HMI. A distinction is made here between a "static" or a
"responsive" application.
ð The static application is an HMI that works with fixed pixel values. With different resolutions there is
only the possibility of scaling.
ð In the responsive application, the HMI is adapted depending on the resolution. It is possible to set
"Media Querys".
2. This step is available only if the responsive application is selected beforehand. In order to use the
responsive design optimally, MediaQuerys must be defined. These describe when a break occurs.
3. Create their navigation structure. Add new main nodes or sub-nodes. In addition, the WebNavigation has
a grouping on the first level. For created nodes there is a possibility to choose different templates.
Furthermore, the nodes can be moved freely in the structure inside or outside the grouping. If you want
to finish the configuration, click the "Finish" button.
14 Extensions
The TwinCAT HMI server can be extended with server extensions. This section describes the server
extensions supplied by Beckhoff, which are available for optional use. The following server extensions are
available:
• ADS [} 1011]: The ADS extension is required for the connection of a Beckhoff PLC. This is included by
default in new projects.
• Sqlite Historize [} 949]: The SqliteHistorize extension is required for recording historical data in the
TwinCAT HMI Server.
• LDAP: The LDAP extension is required to connect the TwinCAT HMI Server to LDAP Servers.
• OPC UA Client [} 1017]: The OPC UA Client extension is required to connect OPC UA Servers.
• Recipe Management [} 978]: The Recipe Management extension is required for the Recipe
Management [} 977] in the TwinCAT HMI.
• TwinCAT EventLogger [} 922]: The EventLogger extension is required for connection to the TwinCAT
EventLogger.
• TwinCAT Speech [} 1027]: The Speech extension is required for connection to TwinCAT Speech
systems.
• TwinCAT Scope [} 1021]: The Scope extension is required for connection to the TwinCAT Scope.
• TwinCAT Vision [} 1029]: The Vision extension is required to display images from TwinCAT Vision in the
HMI.
In addition, own server extensions [} 1202] can be developed and integrated into the TwinCAT HMI Server.
Some server extensions are not included as standard in a new HMI project and can be installed via NuGet
[} 966], if required.
14.1 Protocols
14.1.1 ADS
The ADS Server Extension displays the configured target systems of the selected publish configuration. You
can add further devices.
• Enabled: Specifies whether the target system should be active or disabled in the HMI.
• AmsNetId: AmsNetId of the target system. An ADS route to the target system must exist.
• Port: Port on the target system that is to be accessed (e.g. 851 for PLC, 10000 for TwinCAT System
Service, etc.)
• Use whitelisting: Specifies whether blacklisting (false) or whitelisting (true) [} 1013] should apply to the
configured target.
• Symbols: Manually add symbols per IndexGroup and Offset [} 1017].
• Add Runtime: Add a new target system.
• Timeout: Timeout for ADS requests. If the target system does not respond within this time, the access
is considered an error.
Click on Add Runtime to add a new target system. In the dialog you will automatically see all locally
configured
All locally configured routes are displayed with their AmsNetId when adding a runtime. You can select the
AmsNetId and the corresponding port to add the target system.
The following attribute pragmas are available for black or whitelisting in the TwinCAT HMI:
{ attribute 'TcHmiSymbol.Show' }
{ attribute 'TcHmiSymbol.ShowRecursively' }
{ attribute 'TcHmiSymbol.Hide' }
{ attribute 'TcHmiSymbol.ReadOnly' }
{ attribute 'TcHmiSymbol.BLOB' }
Use:
• TcHmiSymbol.Show: If a variable has this attribute, it will be displayed in the HMI in case of
whitelisting. With this attribute only the first level is displayed (example: only the struct, but not the sub-
elements). The attribute has no effect on blacklisting.
• TcHmiSymbol.ShowRecursively: If a variable has this attribute, it is displayed with all sub-elements in
the HMI in the case of whitelisting (e.g. structure or function block with all sub-elements). Variables in
the sub-elements that are blacklisted with TcHmiSymbol.Hide are not displayed.
• TcHmiSymbol.Hide: If a variable has this attribute, it will not be displayed in the HMI in case of
blacklisting. All variables without an attribute are displayed. If the attribute is used with a structure, all
sub-elements are also hidden in the HMI, even if they are tagged with TcHmiSymbol.Show.
• TcHmiSymbol.ReadOnly: If a variable has this attribute, the variable with all sub-elements cannot be
written in the HMI.
• TcHmiSymbol.BLOB: If a variable has this attribute, the data is transferred to the server and the client
in binary form (reduction of packet size). The data must be converted in the client itself.
With blacklisting, all variables are visible in the HMI, except variables with the attribute TcHmi-Sym-
bol.Hide.
With whitelisting, no variables are visible in the HMI except variables with the attributes TcHmiSym-
bol.Show and TcHmiSymbol.ShowRecursively.
PLC properties
The properties must be made visible in the PLC with an attribute pragma via ADS.
{attribute 'monitoring' := 'call'}
PROPERTY Prop : BOOL
PLC properties can only be used explicitly in the HMI by linking the property individually to a control
attribute. If the entire function block is linked to a control attribute, the property is not called. This is
the case when a function block is used as the source data of the DataGrid or as a user control pa-
rameter.
PLC methods
The methods must be switched visible in the PLC with an attribute pragma via ADS.
{attribute 'TcRpcEnable'}
METHOD MyMethod : BOOL
VAR_INPUT
bInput : BOOL;
END_VAR
Afterwards you can see the methods in the TwinCAT HMI. Within the TwinCAT HMI Configuration Window,
you can call them explicitly.
At runtime in the client, you can call the methods using a JavaScript/TypeScript function and the Framework
API. Below you will find an example for the call via Framework API.
// call of method without parameter
TcHmi.Symbol.readEx2("%s%PLC1.MAIN.fbTest.MethodWithoutParam%/s%", function (data) {
console.log(data);
});
If the method has a return value, you can access the return value within the callback function in the Result
object.
In a future version of the TwinCAT HMI, it will be possible to call the methods directly via the Actions and
Conditions Editor without using JavaScript/TypeScript.
Methods must always be called explicitly and cannot be used as a control attribute. Note that calling
a method from the HMI results in the execution of PLC code.
Changing the addresses of the pointers or references so that they point to another variable is not possible in
the HMI. This must be done in the PLC.
To use the OPC UA Client Extension the license TF2110 is required. The license allows the connection to
OPC UA servers and the use of a namespace. One TwinCAT HMI Target license (TF2050 - TF2090) per
namespace is required for the use of additional namespaces.
Open the TwinCAT HMI Server configuration page [} 880] and navigate to the TcHmiOpcUa tab:
1. advancedSettings: Under the advanced settings you can create profiles for the display of the
browsed variables.
2. connectionSettings: You can create profiles for establishing a connection under Connection Set-
tings.
3. namespaces: The connection to an OPC UA server is configured under the namespaces. The config-
uration profiles can be selected for each connection.
4. securitySettings: Under the security settings you can create profiles for the OPA UA Security.
Name: Freely selectable name under which the OPC UA Server is listed in TwinCAT HMI.
advanced: Profile of the advanced settings.
connection: Profile of the connection settings.
endpoint: Endpoint URL of the OPC UA Server.
security: Profile of the security settings.
ð You can then use [} 1020] the symbols of the OPC UA Server.
The OPC UA Server is listed below the extension "TcHmiOpcUa" with the configured name. [} 1019]
1. Open the TwinCAT HMI Configuration window [} 75]. Click in the tree structure on the left side on the
entry Scope Configurations.
2. Right-click on the entry Scope Configurations and then on Import Scope Configuration... or double-
click on the entry <Import Scope Configuration> in the TwinCAT HMI Configuration window.
3. Assign a unique name for the scope configuration in the Add Scope Config dialog. The Scope project is
then listed under this name in the TwinCAT HMI Configuration window.
4. In the next step, choose whether you want to add the scope project file (.tcscopex file) from the hard disk
or from the Solution.
ð If the project file is located within the Solution, you can select it by clicking on Browse Solution.
After selecting the project file, confirm the dialog by clicking on OK.
ð If the project file is located outside the Solution on your hard disk, you can select it from your hard
disk by clicking on "Browse Files".
You can add multiple Scope configurations to a project
5. After adding the Scope configuration, the charts contained there are displayed.
If not all charts from your project are displayed, the corresponding chart type is not yet supported in the
TwinCAT HMI Scope extension. A list of the supported chart types can be found at the end of this page.
6. Open an HMI page and drop an instance of the TwinCAT HMI Scope Control [} 524]. This can be found
in the Toolbox under the category Charts.
ð Alternatively, you can drag and drop the chart from the TwinCAT HMI Configuration window [} 75]
onto the "Scope-Config" attribute:
ð You can now use the chart in the LiveView [} 72] or in the Client [} 874].
The general configuration of the Scope charts (e.g. axes, colors, channels, data sources, etc.) is done in the
Scope project. Instructions for this can be found in the Documentation of the TwinCAT Scope.
After you have made a change in the Scope project, you must update an already existing Scope
configuration in the TwinCAT HMI project.
1. To do this, right-click on the Scope configuration entry in the TwinCAT HMI Configuration window and
select Refresh.
Further setting options are available in the TwinCAT HMI Scope Control [} 524]. This can be found in the
properties of the control under the category Common.
• Scope Config [} 531]: Selection of the chart that is displayed in the current control instance. For
example, you can create multiple instances of the control to display different charts simultaneously.
Alternatively, you can switch the configuration at runtime within the control instance.
• EnableRecordControls [} 532]: Specifies whether the start and stop record buttons are displayed in the
Scope control.
• Server Interval [} 531]: Interval at which the data between the control and the extension is updated.
• ChartColorSource [} 532]: Defines whether the colors of the chart are taken from the Scope project, or
whether they are set via the ThemedResources in a TwinCAT HMI Theme [} 936].
• Server Domain [} 531]: Name of the Scope extension that provides the Scope configuration. This
attribute usually does not have to be changed.
After you have completed the configuration, you can use the Scope in the client. The familiar TwinCAT
Scope functionalities are available for analysis.
Sample:
An example of the use of the Scope in TwinCAT HMI can be found here [} 1329].
For using the TwinCAT HMI Scope extension a TC3 Scope View Professional (TE1300) license or a
TC3 HMI Scope (TF2300) license is required on the system where the TwinCAT HMI Server is run-
ning.
With version 1.12.748.0 the following chart types are supported: YT-Chart, XY-Chart, Single Bar
Chart and Array Bar Chart.
1. Install the TwinCAT Speech extension using the NuGet Package Manager [} 966]:
The extension is now responsible for the exchange of data between TwinCAT Speech and the browser.
Therefore, nothing needs to be configured on the extension itself.
The server must be announced first in TwinCAT Speech (see Documentation of TwinCAT Speech).
Base configuration
By default, no speech connection is established. For this purpose, a connection must be actively started by a
TypeScript/JavaScript API call.
TcHmi.TcSpeech.openConnection({
enableMicrophone: true,
enableSpeaker: true
});
Further possible parameters of the call with the respective default value are:
defaultVolume: 1 This is the volume of the sound output when loading the application. This can be set
from 0 to 1.
domain: 'TcHmiSpeech' Domain name under which the speech extension is reachable.
confidenceThreshold: 0.2 Each recognition event has a probability that the recognized text
corresponds to the specified entry. This threshold value specifies the value from which this is treated as a
genuine event. If, for example, 0.9 is specified here, an HMI event is only triggered in the case of a very
precise correspondence. (Refer also to the documentation from Microsoft)
Recognized texts call events in the speech system. These are transferred to the browser and are usable
there in an identical way to events of controls (such as myButton.onClick). The Recognition Tag from
the SRGS file is taken here as the name.
It can thus be used as an event in the Actions and Conditions Editor [} 59] in the HMI. The name is entered
in the Custom area for this purpose. If, for example, SpeechOnCommand<SET_ENGLISH> is entered here,
then an action is started on recognition of the Recognition Tag SET_ENGLISH.
Use via CodeBehind [} 1220] is also possible. Sample code with TypeScript:
TcHmi.EventProvider.register('SpeechOnCommand<SET_ENGLISH>', (e, data:
TcHmi.TcSpeech.IEventCallbackParameter) => {
// Will output:
// 'The user said a text which triggered the recoginition tag: SET_ENGLISH'
console.log('The user said a text which triggered the recoginition tag: ' + data.Command);
if (data.Confidence > 0.9) {
console.log('The speech recognition was pretty sure about that.');
}
if (data.Parameter) {
console.log('We got a parameter for this recognition: ', data.Parameter);
}
});
The extension configuration and the linking of images is described in the TwinCAT Vision documentation.
15 Server
15.1.1 TcHmiSrv
Type Definitions
Name Description
adsRoute [} 1035] ADS route
threadPoolSize [} 1036] Thread pool size
accessEnum [} 1036] Access level
severity [} 1037] Severity
timing [} 1038] Timing
valueType [} 1039] Value type
alarmState [} 1041] Alarm state
confirmationState [} 1042] Alarm confirmation state
nullableDateTime [} 1043] Nullable datetime
eventType [} 1043] Event type
message [} 1044] Message
alarm [} 1045] Alarm
event [} 1046] Event
symbol [} 1046] Symbol
filter [} 1048] Filter
userLocale [} 1049] User locale
userTimeZone [} 1055] User timezone
userGroups [} 1066] User groups
eventFilter [} 1066] Event filter
Webserver
General Properties
Advanced
Security
Symbols
15.1.1.1.1 adsRoute
ADS route
General Information
Domain TcHmiSrv
Schema
Type string
JSON Schema
{
"allOf": [
{
"oneOf": [
{
"format": "ipv4"
},
{
"format": "amsnetid"
}
]
},
{
"description": "descAdsRoute",
"optionMethod": {
"symbol": "ADS.ListRoutes"
},
"type": "string"
}
]
}
15.1.1.1.2 threadPoolSize
Thread pool size
General Information
Domain TcHmiSrv
Schema
Type integer
Minimum 4
Maximum 128
JSON Schema
{
"description": "descThreadPoolSize",
"maximum": 128,
"minimum": 4,
"type": "integer"
}
15.1.1.1.3 accessEnum
Access level
General Information
Domain TcHmiSrv
Schema
Options
Value Label
0 None
1 Read
2 Write
3 Read-Write
JSON Schema
{
"default": 3,
"description": "descAccessEnum",
"enum": [
0,
1,
2,
3
],
"options": [
{
"label": "ENUM_NONE",
"value": 0
},
{
"label": "ENUM_READ",
"value": 1
},
{
"label": "ENUM_WRITE",
"value": 2
},
{
"label": "ENUM_READWRITE",
"value": 3
}
],
"type": "integer"
}
15.1.1.1.4 severity
Severity
General Information
Domain TcHmiSrv
Schema
Options
Value Label
-1 Diagnostics
0 Verbose
1 Info
2 Warning
3 Error
4 Critical
JSON Schema
{
"default": 1,
"description": "descSeverity",
"enum": [
-1,
0,
1,
2,
3,
4
],
"options": [
{
"label": "ENUM_m1_DIAGNOSTICS",
"value": -1
},
{
"label": "ENUM_0_VERBOSE",
"value": 0
},
{
"label": "ENUM_1_INFO",
"value": 1
},
{
"label": "ENUM_2_WARNING",
"value": 2
},
{
"label": "ENUM_3_ERROR",
"value": 3
},
{
"label": "ENUM_4_CRITICAL",
"value": 4
}
],
"type": "integer"
}
15.1.1.1.5 timing
Timing
General Information
Domain TcHmiSrv
Schema
Options
Value Label
0 Early
1 Normal
2 Delayed
JSON Schema
{
"default": 1,
"description": "descTiming",
"enum": [
0,
1,
2
],
"options": [
{
"label": "ENUM_EARLY",
"propertyOrder": 1,
"value": 0
},
{
"label": "ENUM_NORMAL",
"propertyOrder": 2,
"value": 1
},
{
"label": "ENUM_DELAYED",
"propertyOrder": 3,
"value": 2
}
],
"type": "integer"
}
15.1.1.1.6 valueType
Value type
General Information
Domain TcHmiSrv
Schema
Options
Value Label
0 null
1 boolean
2 integer
3 number
4 string
5 array
6 map
7 object
8 binary
9 int64
10 date-time
11 timespan
64 event
65 message
66 alarm
256 any
JSON Schema
{
"default": 0,
"description": "descValueType",
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
64,
65,
66,
256
],
"options": [
{
"label": "ENUM_VALUETYPE_NULL",
"value": 0
},
{
"label": "ENUM_VALUETYPE_BOOL",
"value": 1
},
{
"label": "ENUM_VALUETYPE_INT",
"value": 2
},
{
"label": "ENUM_VALUETYPE_DOUBLE",
"value": 3
},
{
"label": "ENUM_VALUETYPE_STRING",
"value": 4
},
{
"label": "ENUM_VALUETYPE_ARRAY",
"value": 5
},
{
"label": "ENUM_VALUETYPE_MAP",
"value": 6
},
{
"label": "ENUM_VALUETYPE_STRUCT",
"value": 7
},
{
"label": "ENUM_VALUETYPE_BINARY",
"value": 8
},
{
"label": "ENUM_VALUETYPE_INT64",
"value": 9
},
{
"label": "ENUM_VALUETYPE_DATETIME",
"value": 10
},
{
"label": "ENUM_VALUETYPE_TIMESPAN",
"value": 11
},
{
"label": "ENUM_VALUETYPE_EVENT",
"value": 64
},
{
"label": "ENUM_VALUETYPE_MESSAGE",
"value": 65
},
{
"label": "ENUM_VALUETYPE_ALARM",
"value": 66
},
{
"label": "ENUM_VALUETYPE_ANY",
"value": 256
}
],
"type": "integer"
}
15.1.1.1.7 alarmState
Alarm state
General Information
Domain TcHmiSrv
Schema
Options
Value Label
0 Raised
1 Confirmed
2 Cleared
3 Cleared and Confirmed
4 Invalid
JSON Schema
{
"default": 0,
"description": "descAlarmState",
"enum": [
0,
1,
2,
3,
4
],
"options": [
{
"label": "ENUM_0_RAISED",
"value": 0
},
{
"label": "ENUM_1_CONFIRMED",
"value": 1
},
{
"label": "ENUM_2_CLEARED",
"value": 2
},
{
"label": "ENUM_3_CLEARED_AND_CONFIRMED",
"value": 3
},
{
"label": "ENUM_4_INVALID",
"value": 4
}
],
"type": "integer"
}
15.1.1.1.8 confirmationState
Alarm confirmation state
General Information
Domain TcHmiSrv
Schema
Options
Value Label
0 Not supported
1 Not required
2 Waiting for confirmation
3 Confirmed
4 Reset
JSON Schema
{
"default": 1,
"description": "descConfirmationState",
"enum": [
0,
1,
2,
3,
4
],
"options": [
{
"label": "ENUM_NOTSUPPORTED",
"propertyOrder": 2,
"value": 0
},
{
"label": "ENUM_NOTREQUIRED",
"propertyOrder": 5,
"value": 1
},
{
"label": "ENUM_WAIT",
"propertyOrder": 4,
"value": 2
},
{
"label": "ENUM_CONFIRMED",
"propertyOrder": 3,
"value": 3
},
{
"label": "ENUM_RESET",
"propertyOrder": 1,
"value": 4
}
],
"type": "integer"
}
15.1.1.1.9 nullableDateTime
Nullable datetime
General Information
Domain TcHmiSrv
JSON Schema
{
"allOf": [
{
"oneOf": [
{
"format": "date-time",
"type": "string"
},
{
"type": "null"
}
]
},
{
"description": "descNullableDateTime"
}
]
}
15.1.1.1.10 eventType
Event type
General Information
Domain TcHmiSrv
Schema
Options
Value Label
0 Message
1 Alarm
2 Payload
JSON Schema
{
"default": 1,
"description": "descEventType",
"enum": [
0,
1,
2
],
"options": [
{
"label": "ENUM_0_MESSAGE",
"value": 0
},
{
"label": "ENUM_1_ALARM",
"value": 1
},
{
"label": "ENUM_2_PAYLOAD",
"value": 2
}
],
"type": "integer"
}
15.1.1.1.11 message
Message
General Information
Domain TcHmiSrv
Schema
Type object
JSON Schema
{
"additionalProperties": false,
"description": "descMessage",
"properties": {
"domain": {
"type": "string"
},
"name": {
"type": "string"
},
"params": {
"additionalProperties": {},
"type": "object"
},
"severity": {
"$ref": "tchmi:server#/definitions/severity"
},
"timeRaised": {
"format": "date-time",
"type": "string"
}
},
"required": [
"name",
"domain",
"severity"
],
"type": "object"
}
15.1.1.1.12 alarm
Alarm
General Information
Domain TcHmiSrv
Schema
Type object
JSON Schema
{
"additionalProperties": false,
"description": "descAlarm",
"properties": {
"alarmState": {
"$ref": "tchmi:server#/definitions/alarmState"
},
"confirmationState": {
"$ref": "tchmi:server#/definitions/confirmationState"
},
"domain": {
"type": "string"
},
"id": {
"type": "integer"
},
"isActive": {
"$ref": "tchmi:general#/definitions/Boolean"
},
"name": {
"type": "string"
},
"params": {
"additionalProperties": {},
"type": "object"
},
"severity": {
"$ref": "tchmi:server#/definitions/severity"
},
"timeCleared": {
"$ref": "tchmi:server#/definitions/nullableDateTime"
},
"timeConfirmed": {
"$ref": "tchmi:server#/definitions/nullableDateTime"
},
"timeRaised": {
"format": "date-time",
"type": "string"
}
},
"required": [
"name",
"domain",
"confirmationState"
],
"type": "object"
}
15.1.1.1.13 event
Event
General Information
Domain TcHmiSrv
Schema
Type object
JSON Schema
{
"additionalProperties": false,
"description": "descEvent",
"properties": {
"domain": {
"type": "string"
},
"name": {
"type": "string"
},
"payload": {
"anyOf": [
{
"$ref": "tchmi:server#/definitions/alarm"
},
{
"$ref": "tchmi:server#/definitions/message"
},
{}
],
"description": "Payload can be alarms, messages or any type of user data."
},
"payloadType": {
"$ref": "tchmi:server#/definitions/eventType"
},
"sessionId": {
"type": "string"
},
"timeReceived": {
"format": "date-time",
"type": "string"
}
},
"required": [
"name",
"domain"
],
"type": "object"
}
15.1.1.1.14 symbol
Symbol
General Information
Domain TcHmiSrv
Schema
Type object
JSON Schema
{
"configDescription": "DESC_SYMBOL",
"properties": {
"ACCESS": {
"allOf": [
{
"$ref": "tchmi:server#/definitions/accessEnum"
},
{
"configDescription": "DESC_ACCESS"
}
]
},
"CUSTOMERDATA": {
"type": "string"
},
"DOMAIN": {
"description": "Domain of the symbol",
"optionMethod": {
"symbol": "ListDomains"
},
"type": "string"
},
"DYNAMIC": {
"default": true,
"description": "Only dynamic symbols can be removed.",
"type": "boolean"
},
"HIDDEN": {
"default": false,
"description": "Hide this symbol in the symbol browser.",
"type": "boolean"
},
"MAPPING": {
"description": "This is how the given domain will access the symbol.",
"type": "string"
},
"OPTIONS": {
"additionalProperties": {},
"type": "object"
},
"SCHEMA": {
"allOf": [
{
"$ref": "tchmi:server#/definitions/schemaRef"
},
{
"description": "Json schema describing the output parameters of the symbol."
}
]
},
"SUBSYMBOL_MAPPING": {
"description": "This sub-path is not forwarded to the extension. The server
automatically browses into the result of the mapped symbol.",
"type": "string"
},
"USEMAPPING": {
"default": true,
"description": "If true the mapping will be used, otherwise the symbol will be evaluated
in the server.",
"type": "boolean"
}
},
"required": [
"DOMAIN",
"MAPPING",
"ACCESS"
],
"type": "object"
}
15.1.1.1.15 filter
Filter
General Information
Domain TcHmiSrv
Schema
Type array
JSON Schema
{
"description": "descFilter",
"items": {
"oneOf": [
{
"additionalProperties": false,
"configDescription": "descComparator",
"properties": {
"comparator": {
"enum": [
"==",
"!=",
"<",
">",
"<=",
">=",
"contains",
"contains not",
"== [ignore case]",
"!= [ignore case]",
"contains [ignore case]",
"contains not [ignore case]"
],
"type": "string"
},
"path": {
"type": "string"
},
"value": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
]
}
},
"required": [
"comparator",
"value"
],
"type": "object"
},
{
"additionalProperties": false,
"configDescription": "descLogic",
"properties": {
"logic": {
"enum": [
"AND",
"OR"
],
"type": "string"
}
},
"required": [
"logic"
],
"type": "object"
},
{
"$ref": "tchmi:server#/definitions/filter"
}
]
},
"type": "array"
}
15.1.1.1.16 userLocale
User locale
General Information
Domain TcHmiSrv
Schema
Enumeration value
af
af-ZA
ar
ar-AE
ar-BH
ar-DZ
ar-EG
ar-IQ
ar-JO
ar-KW
ar-LB
ar-LY
ar-MA
ar-OM
ar-QA
ar-SA
ar-SY
ar-TN
ar-YE
az
az-AZ
be
be-BY
bg
bg-BG
bs-BA
ca
ca-ES
cs
cs-CZ
cy
cy-GB
da
da-DK
de
de-AT
de-CH
de-DE
de-LI
de-LU
dv
dv-MV
el
el-GR
en
en-AU
en-BZ
en-CA
Enumeration value
en-CB
en-GB
en-IE
en-JM
en-NZ
en-PH
en-TT
en-US
en-ZA
en-ZW
eo
es
es-AR
es-BO
es-CL
es-CO
es-CR
es-DO
es-EC
es-ES
es-GT
es-HN
es-MX
es-NI
es-PA
es-PE
es-PR
es-PY
es-SV
es-UY
es-VE
et
et-EE
eu
eu-ES
fa
fa-IR
fi
fi-FI
fo
fo-FO
fr
fr-BE
fr-CA
fr-CH
fr-FR
fr-LU
fr-MC
Enumeration value
ga-IE
gl
gl-ES
gu
gu-IN
he
he-IL
hi
hi-IN
hr
hr-BA
hr-HR
hu
hu-HU
hy
hy-AM
id
id-ID
is
is-IS
it
it-CH
it-IT
ja
ja-JP
ka
ka-GE
kk
kk-KZ
kn
kn-IN
ko
ko-KR
kok
kok-IN
ky
ky-KG
lt
lt-LT
lv
lv-LV
mi
mi-NZ
mk
mk-MK
mn
mn-MN
mr
Enumeration value
mr-IN
ms
ms-BN
ms-MY
mt
mt-MT
nb
nb-NO
nl
nl-BE
nl-NL
nn-NO
ns
ns-ZA
pa
pa-IN
pl
pl-PL
ps
ps-AR
pt
pt-BR
pt-PT
qu
qu-BO
qu-EC
qu-PE
ro
ro-RO
ru
ru-RU
sa
sa-IN
se
se-FI
se-NO
se-SE
sk
sk-SK
sl
sl-SI
so-SO
sq
sq-AL
sr-BA
sr-SP
sv
sv-FI
Enumeration value
sv-SE
sw
sw-KE
syr
syr-SY
ta
ta-IN
te
te-IN
th
th-TH
tl
tl-PH
tn
tn-ZA
tr
tr-TR
tt
tt-RU
ts
uk
uk-UA
ur
ur-PK
uz
uz-UZ
vi
vi-VN
xh
xh-ZA
zh
zh-CN
zh-HK
zh-MO
zh-SG
zh-TW
zu
zu-ZA
client
project
JSON Schema
{
"oneOf": [
{
"$ref": "tchmi:general#/definitions/Locale"
},
{
"default": "project",
"description": "descUserLocale",
"enum": [
"client",
"project"
],
"type": "string"
}
]
}
15.1.1.1.17 userTimeZone
User timezone
General Information
Domain TcHmiSrv
Schema
Enumeration value
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
Africa/Banjul
Africa/Bissau
Africa/Blantyre
Africa/Brazzaville
Africa/Bujumbura
Africa/Cairo
Africa/Casablanca
Africa/Ceuta
Africa/Conakry
Africa/Dakar
Africa/Dar_es_Salaam
Africa/Djibouti
Africa/Douala
Africa/El_Aaiun
Africa/Freetown
Africa/Gaborone
Africa/Harare
Africa/Johannesburg
Africa/Juba
Africa/Kampala
Africa/Khartoum
Africa/Kigali
Africa/Kinshasa
Africa/Lagos
Africa/Libreville
Africa/Lome
Africa/Luanda
Africa/Lubumbashi
Africa/Lusaka
Africa/Malabo
Africa/Maputo
Africa/Maseru
Africa/Mbabane
Africa/Mogadishu
Africa/Monrovia
Africa/Nairobi
Africa/Ndjamena
Africa/Niamey
Africa/Nouakchott
Africa/Ouagadougou
Africa/Porto-Novo
Enumeration value
Africa/Sao_Tome
Africa/Timbuktu
Africa/Tripoli
Africa/Tunis
Africa/Windhoek
America/Adak
America/Anchorage
America/Anguilla
America/Antigua
America/Araguaina
America/Argentina/Buenos_Aires
America/Argentina/Catamarca
America/Argentina/Cordoba
America/Argentina/Jujuy
America/Argentina/La_Rioja
America/Argentina/Mendoza
America/Argentina/Rio_Gallegos
America/Argentina/Salta
America/Argentina/San_Juan
America/Argentina/San_Luis
America/Argentina/Tucuman
America/Argentina/Ushuaia
America/Aruba
America/Asuncion
America/Atikokan
America/Atka
America/Bahia
America/Bahia_Banderas
America/Barbados
America/Belem
America/Belize
America/Blanc-Sablon
America/Boa_Vista
America/Bogota
America/Boise
America/Buenos_Aires
America/Cambridge_Bay
America/Campo_Grande
America/Cancun
America/Caracas
America/Catamarca
America/Cayenne
America/Cayman
America/Chicago
America/Chihuahua
America/Coral_Harbour
America/Cordoba
America/Costa_Rica
Enumeration value
America/Creston
America/Cuiaba
America/Curacao
America/Danmarkshavn
America/Dawson
America/Dawson_Creek
America/Denver
America/Detroit
America/Dominica
America/Edmonton
America/Eirunepe
America/El_Salvador
America/Ensenada
America/Fort_Nelson
America/Fort_Wayne
America/Fortaleza
America/Glace_Bay
America/Godthab
America/Goose_Bay
America/Grand_Turk
America/Grenada
America/Guadeloupe
America/Guatemala
America/Guayaquil
America/Guyana
America/Halifax
America/Havana
America/Hermosillo
America/Indiana/Indianapolis
America/Indiana/Knox
America/Indiana/Marengo
America/Indiana/Petersburg
America/Indiana/Tell_City
America/Indiana/Vevay
America/Indiana/Vincennes
America/Indiana/Winamac
America/Indianapolis
America/Inuvik
America/Iqaluit
America/Jamaica
America/Jujuy
America/Juneau
America/Kentucky/Louisville
America/Kentucky/Monticello
America/Kralendijk
America/La_Paz
America/Lima
America/Los_Angeles
Enumeration value
America/Louisville
America/Lower_Princes
America/Maceio
America/Managua
America/Manaus
America/Marigot
America/Martinique
America/Matamoros
America/Mazatlan
America/Mendoza
America/Menominee
America/Merida
America/Metlakatla
America/Mexico_City
America/Miquelon
America/Moncton
America/Monterrey
America/Montevideo
America/Montreal
America/Montserrat
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
America/North_Dakota/Beulah
America/North_Dakota/Center
America/North_Dakota/New_Salem
America/Ojinaga
America/Panama
America/Pangnirtung
America/Paramaribo
America/Phoenix
America/Port-au-Prince
America/Port_of_Spain
America/Porto_Acre
America/Porto_Velho
America/Puerto_Rico
America/Punta_Arenas
America/Rainy_River
America/Rankin_Inlet
America/Recife
America/Regina
America/Resolute
America/Rio_Branco
America/Rosario
America/Santa_Isabel
America/Santarem
Enumeration value
America/Santiago
America/Santo_Domingo
America/Sao_Paulo
America/Scoresbysund
America/Shiprock
America/Sitka
America/St_Barthelemy
America/St_Johns
America/St_Kitts
America/St_Lucia
America/St_Thomas
America/St_Vincent
America/Swift_Current
America/Tegucigalpa
America/Thule
America/Thunder_Bay
America/Tijuana
America/Toronto
America/Tortola
America/Vancouver
America/Virgin
America/Whitehorse
America/Winnipeg
America/Yakutat
America/Yellowknife
Antarctica/Casey
Antarctica/Davis
Antarctica/Macquarie
Antarctica/Mawson
Antarctica/Palmer
Antarctica/Rothera
Antarctica/South_Pole
Antarctica/Syowa
Antarctica/Vostok
Arctic/Longyearbyen
Asia/Aden
Asia/Almaty
Asia/Amman
Asia/Anadyr
Asia/Aqtau
Asia/Aqtobe
Asia/Ashgabat
Asia/Ashkhabad
Asia/Atyrau
Asia/Baghdad
Asia/Bahrain
Asia/Baku
Asia/Bangkok
Enumeration value
Asia/Barnaul
Asia/Beirut
Asia/Bishkek
Asia/Brunei
Asia/Calcutta
Asia/Chita
Asia/Choibalsan
Asia/Chongqing
Asia/Chungking
Asia/Colombo
Asia/Dacca
Asia/Damascus
Asia/Dhaka
Asia/Dili
Asia/Dubai
Asia/Dushanbe
Asia/Famagusta
Asia/Gaza
Asia/Harbin
Asia/Hebron
Asia/Ho_Chi_Minh
Asia/Hong_Kong
Asia/Hovd
Asia/Irkutsk
Asia/Istanbul
Asia/Jakarta
Asia/Jayapura
Asia/Jerusalem
Asia/Kabul
Asia/Kamchatka
Asia/Karachi
Asia/Kashgar
Asia/Kathmandu
Asia/Khandyga
Asia/Kolkata
Asia/Krasnoyarsk
Asia/Kuala_Lumpur
Asia/Kuching
Asia/Kuwait
Asia/Macau
Asia/Magadan
Asia/Makassar
Asia/Manila
Asia/Muscat
Asia/Nicosia
Asia/Novokuznetsk
Asia/Novosibirsk
Asia/Omsk
Enumeration value
Asia/Oral
Asia/Phnom_Penh
Asia/Pontianak
Asia/Pyongyang
Asia/Qatar
Asia/Qyzylorda
Asia/Rangoon
Asia/Riyadh
Asia/Saigon
Asia/Sakhalin
Asia/Samarkand
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Srednekolymsk
Asia/Taipei
Asia/Tashkent
Asia/Tbilisi
Asia/Tehran
Asia/Tel_Aviv
Asia/Thimbu
Asia/Thimphu
Asia/Tokyo
Asia/Tomsk
Asia/Ujung_Pandang
Asia/Ulaanbaatar
Asia/Ulan_Bator
Asia/Urumqi
Asia/Ust-Nera
Asia/Vientiane
Asia/Vladivostok
Asia/Yakutsk
Asia/Yangon
Asia/Yekaterinburg
Asia/Yerevan
Atlantic/Azores
Atlantic/Bermuda
Atlantic/Canary
Atlantic/Cape_Verde
Atlantic/Faeroe
Atlantic/Faroe
Atlantic/Jan_Mayen
Atlantic/Madeira
Atlantic/Reykjavik
Atlantic/South_Georgia
Atlantic/St_Helena
Atlantic/Stanley
Australia/Adelaide
Enumeration value
Australia/Brisbane
Australia/Broken_Hill
Australia/Canberra
Australia/Currie
Australia/Darwin
Australia/Eucla
Australia/Hobart
Australia/Lindeman
Australia/Lord_Howe
Australia/Melbourne
Australia/Perth
Australia/Queensland
Australia/Sydney
Australia/Yancowinna
Europe/Amsterdam
Europe/Andorra
Europe/Astrakhan
Europe/Athens
Europe/Belfast
Europe/Belgrade
Europe/Berlin
Europe/Bratislava
Europe/Brussels
Europe/Bucharest
Europe/Budapest
Europe/Busingen
Europe/Chisinau
Europe/Copenhagen
Europe/Dublin
Europe/Gibraltar
Europe/Guernsey
Europe/Helsinki
Europe/Isle_of_Man
Europe/Istanbul
Europe/Jersey
Europe/Kaliningrad
Europe/Kiev
Europe/Kirov
Europe/Lisbon
Europe/Ljubljana
Europe/London
Europe/Luxembourg
Europe/Madrid
Europe/Malta
Europe/Mariehamn
Europe/Minsk
Europe/Monaco
Europe/Moscow
Enumeration value
Europe/Nicosia
Europe/Oslo
Europe/Paris
Europe/Podgorica
Europe/Prague
Europe/Riga
Europe/Rome
Europe/Samara
Europe/San_Marino
Europe/Sarajevo
Europe/Saratov
Europe/Simferopol
Europe/Skopje
Europe/Sofia
Europe/Stockholm
Europe/Tallinn
Europe/Tirane
Europe/Tiraspol
Europe/Ulyanovsk
Europe/Uzhgorod
Europe/Vaduz
Europe/Vatican
Europe/Vienna
Europe/Vilnius
Europe/Volgograd
Europe/Warsaw
Europe/Zagreb
Europe/Zaporozhye
Europe/Zurich
Indian/Antananarivo
Indian/Chagos
Indian/Christmas
Indian/Cocos
Indian/Comoro
Indian/Kerguelen
Indian/Mahe
Indian/Maldives
Indian/Mauritius
Indian/Mayotte
Indian/Reunion
Pacific/Apia
Pacific/Auckland
Pacific/Bougainville
Pacific/Chatham
Pacific/Chuuk
Pacific/Easter
Pacific/Efate
Pacific/Enderbury
Enumeration value
Pacific/Fakaofo
Pacific/Fiji
Pacific/Funafuti
Pacific/Galapagos
Pacific/Gambier
Pacific/Guadalcanal
Pacific/Guam
Pacific/Honolulu
Pacific/Johnston
Pacific/Kiritimati
Pacific/Kosrae
Pacific/Kwajalein
Pacific/Majuro
Pacific/Marquesas
Pacific/Midway
Pacific/Nauru
Pacific/Niue
Pacific/Norfolk
Pacific/Noumea
Pacific/Pago_Pago
Pacific/Palau
Pacific/Pitcairn
Pacific/Pohnpei
Pacific/Ponape
Pacific/Port_Moresby
Pacific/Rarotonga
Pacific/Saipan
Pacific/Samoa
Pacific/Tahiti
Pacific/Tarawa
Pacific/Tongatapu
Pacific/Truk
Pacific/Wake
Pacific/Wallis
Pacific/Yap
UTC
client
project
JSON Schema
{
"oneOf": [
{
"$ref": "tchmi:general#/definitions/TimeZone"
},
{
"default": "project",
"description": "descUserTimeZone",
"enum": [
"client",
"project"
],
"type": "string"
}
]
}
15.1.1.1.18 userGroups
User groups
General Information
Domain TcHmiSrv
Schema
Type array
Unique items Yes
JSON Schema
{
"description": "descUserGroups",
"items": {
"configDescription": "DESC_GROUP",
"optionMethod": {
"symbol": "TcHmiSrv.Config::USERGROUPS"
},
"type": "string"
},
"type": "array",
"uniqueItems": true
}
15.1.1.1.19 eventFilter
Event filter
General Information
Domain TcHmiSrv
Schema
Type array
JSON Schema
{
"description": "descEventFilter",
"items": {
"anyOf": [
{
"properties": {
"comparator": {
"enum": [
"==",
"!=",
"contains",
"contains not",
"== [ignore case]",
"!= [ignore case]",
"contains [ignore case]",
"contains not [ignore case]"
],
"type": "string"
},
"path": {
"enum": [
"domain",
"sourceDomain",
"name",
"text",
"sessionId"
],
"type": "string"
},
"value": {
"type": "string"
}
},
"required": [
"path",
"comparator",
"value"
],
"type": "object"
},
{
"properties": {
"comparator": {
"enum": [
"==",
"!=",
"<",
">",
"<=",
">="
],
"type": "string"
},
"path": {
"enum": [
"id"
],
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"path",
"comparator",
"value"
],
"type": "object"
},
{
"properties": {
"comparator": {
"enum": [
"==",
"!=",
"<",
">",
"<=",
">="
],
"type": "string"
},
"path": {
"enum": [
"timeRaised"
],
"type": "string"
},
"value": {
"format": "date-time",
"type": "string"
}
},
"required": [
"path",
"comparator",
"value"
],
"type": "object"
},
{
"properties": {
"comparator": {
"enum": [
"==",
"!=",
"<",
">",
"<=",
">="
],
"type": "string"
},
"path": {
"enum": [
"timeCleared",
"timeConfirmed"
],
"type": "string"
},
"value": {
"$ref": "tchmi:server#/definitions/nullableDateTime"
}
},
"required": [
"path",
"comparator",
"value"
],
"type": "object"
},
{
"properties": {
"comparator": {
"enum": [
"==",
"!=",
"<",
">",
"<=",
">="
],
"type": "string"
},
"path": {
"enum": [
"type"
],
"type": "string"
},
"value": {
"enum": [
0,
1
],
"options": [
{
"label": "ENUM_0_MESSAGE",
"value": 0
},
{
"label": "ENUM_1_ALARM",
"value": 1
}
],
"type": "integer"
}
},
"required": [
"path",
"comparator",
"value"
],
"type": "object"
},
{
"properties": {
"comparator": {
"enum": [
"==",
"!=",
"<",
">",
"<=",
">="
],
"type": "string"
},
"path": {
"enum": [
"severity"
],
"type": "string"
},
"value": {
"$ref": "tchmi:server#/definitions/severity"
}
},
"required": [
"path",
"comparator",
"value"
],
"type": "object"
},
{
"properties": {
"comparator": {
"enum": [
"==",
"!=",
"<",
">",
"<=",
">="
],
"type": "string"
},
"path": {
"enum": [
"alarmState"
],
"type": "string"
},
"value": {
"$ref": "tchmi:server#/definitions/alarmState"
}
},
"required": [
"path",
"comparator",
"value"
],
"type": "object"
},
{
"properties": {
"comparator": {
"enum": [
"==",
"!=",
"<",
">",
"<=",
">="
],
"type": "string"
},
"path": {
"enum": [
"confirmationState"
],
"type": "string"
},
"value": {
"$ref": "tchmi:server#/definitions/confirmationState"
}
},
"required": [
"path",
"comparator",
"value"
],
"type": "object"
},
{
"properties": {
"comparator": {
"enum": [
"==",
"!="
],
"type": "string"
},
"path": {
"enum": [
"isActive"
],
"type": "string"
},
"value": {
"type": "boolean"
}
},
"required": [
"path",
"comparator",
"value"
],
"type": "object"
},
{
"properties": {
"comparator": {
"enum": [
"==",
"!=",
"<",
">",
"<=",
">=",
"contains",
"contains not",
"== [ignore case]",
"!= [ignore case]",
"contains [ignore case]",
"contains not [ignore case]"
],
"type": "string"
},
"path": {
"pattern": "^params::",
"type": "string"
},
"value": {
"oneOf": [
{
"type": "string"
},
{
"type": "number"
},
{
"type": "boolean"
}
]
}
},
"required": [
"path",
"comparator",
"value"
],
"type": "object"
},
{
"properties": {
"logic": {
"enum": [
"AND",
"OR"
],
"type": "string"
}
},
"required": [
"logic"
],
"type": "object"
},
{
"$ref": "tchmi:server#/definitions/eventFilter"
}
]
},
"type": "array"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::PROJECTNAME
Property is hidden No
Contained in every configuration by default No
Schema
Type string
JSON Schema
{
"description": "DESC_PROJECTNAME",
"propertyOrder": 1,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::PROJECTVERSION
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format version
JSON Schema
{
"description": "DESC_PROJECTVERSION",
"format": "version",
"propertyOrder": 2,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DEFAULTLOCALE
Property is hidden No
Contained in every configuration by default No
JSON Schema
{
"allOf": [
{
"oneOf": [
{
"$ref": "tchmi:general#/definitions/Locale"
},
{
"default": "client",
"enum": [
"client"
],
"type": "string"
}
]
},
{
"configDescription": "DESC_LOCALE",
"propertyOrder": 8
}
]
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DEFAULTTIMEZONE
Property is hidden No
Contained in every configuration by default No
JSON Schema
{
"allOf": [
{
"oneOf": [
{
"$ref": "tchmi:general#/definitions/TimeZone"
},
{
"default": "client",
"enum": [
"client"
],
"type": "string"
}
]
},
{
"configDescription": "DESC_TIMEZONE",
"propertyOrder": 9
}
]
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DEFAULTTIMEFORMATLOCALE
Property is hidden No
Contained in every configuration by default No
JSON Schema
{
"allOf": [
{
"oneOf": [
{
"$ref": "tchmi:general#/definitions/Locale"
},
{
"default": "client",
"enum": [
"client"
],
"type": "string"
}
]
},
{
"configDescription": "DESC_LOCALE",
"propertyOrder": 10
}
]
}
15.1.1.2.6 Configurations
The names of all existing configurations.
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::CONFIGURATIONS
Property is hidden No
Contained in every configuration by default No
Schema
Type array
Unique items Yes
Default value
[
"remote"
]
JSON Schema
{
"default": [
"remote"
],
"description": "DESC_CONFIGURATIONS",
"items": {
"type": "string"
},
"propertyOrder": 5,
"type": "array",
"uniqueItems": true
}
15.1.1.2.7 Files
Special handling and permissions for specific files or directories.
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::FILES
Property is hidden No
Contained in every configuration by default No
Schema
Type object
JSON Schema
{
"additionalProperties": {
"default": {
"ACCESS": 3
},
"properties": {
"ACCESS": {
"$ref": "tchmi:server#/definitions/accessEnum"
},
"FILESHTTPHEADERS": {
"format": "multiline",
"type": "string"
},
"HTTPSTATUSCODE": {
"enum": [
"",
"301",
"302",
"307",
"308",
"401",
"403",
"404"
],
"type": "string"
},
"LOGINPAGE": {
"type": "string"
}
},
"type": "object"
},
"description": "DESC_FILES",
"propertyOrder": 11,
"type": "object"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::VIRTUALDIRECTORIES
Property is hidden No
Contained in every configuration by default Yes
Schema
Type object
Minimum number of properties 1
Default value
{
"/": "www"
}
JSON Schema
{
"additionalProperties": {
"format": "filename",
"type": "string"
},
"default": {
"/": "www"
},
"defaultConfigurable": true,
"description": "DESC_VIRTUALDIRECTORIES",
"minProperties": 1,
"propertyOrder": 12,
"type": "object"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::REQUIREAUTH
Property is hidden No
Contained in every configuration by default Yes
Schema
Options
Value Label
0 None
1 Authentication only for remote access
2 Always authenticate
JSON Schema
{
"default": 2,
"defaultConfigurable": true,
"description": "DESC_REQUIREAUTH",
"enum": [
0,
1,
2
],
"options": [
{
"label": "ENUM_NONE",
"value": 0
},
{
"label": "ENUM_REMOTE",
"value": 1
},
{
"label": "ENUM_ALWAYS",
"value": 2
}
],
"propertyOrder": 13,
"type": "integer"
}
15.1.1.2.10 Extensions
Server extensions are used to integrate additional functionality into the server.
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::EXTENSIONS
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"ADS": {
"NAME": "TcHmiAds",
"PATH": "TcHmiAds",
"REQUIRED": true,
"STARTUPTYPE": 1
},
"TcHmiLua": {
"NAME": "TcHmiLua",
"PATH": "TcHmiLua",
"REQUIRED": true,
"STARTUPTYPE": 1
},
"TcHmiSqliteLogger": {
"NAME": "TcHmiSqliteLogger",
"PATH": "TcHmiSqliteLogger",
"REQUIRED": true,
"STARTUPTYPE": 0
},
"TcHmiUserManagement": {
"NAME": "TcHmiUserManagement",
"PATH": "TcHmiUserManagement",
"REQUIRED": true,
"STARTUPTYPE": 1
}
}
JSON Schema
{
"additionalProperties": {
"additionalProperties": false,
"properties": {
"ENABLED": {
"default": true,
"type": "boolean"
},
"NAME": {
"type": "string"
},
"PATH": {
"configDescription": "DESC_EXTENSION_PATH",
"format": "filename",
"type": "string"
},
"PROCESSID": {
"default": -1,
"hidden": true,
"type": "integer"
},
"REQUIRED": {
"default": false,
"readOnly": true,
"type": "boolean"
},
"STARTUPTYPE": {
"$ref": "tchmi:server#/definitions/timing"
}
},
"readOnly": {
"$data": "#/properties/EXTENSIONS/additionalProperties/properties/REQUIRED"
},
"required": [
"NAME",
"ENABLED",
"STARTUPTYPE"
],
"title": "TITLE_EXTENSION",
"type": "object"
},
"default": {
"ADS": {
"NAME": "TcHmiAds",
"PATH": "TcHmiAds",
"REQUIRED": true,
"STARTUPTYPE": 1
},
"TcHmiLua": {
"NAME": "TcHmiLua",
"PATH": "TcHmiLua",
"REQUIRED": true,
"STARTUPTYPE": 1
},
"TcHmiSqliteLogger": {
"NAME": "TcHmiSqliteLogger",
"PATH": "TcHmiSqliteLogger",
"REQUIRED": true,
"STARTUPTYPE": 0
},
"TcHmiUserManagement": {
"NAME": "TcHmiUserManagement",
"PATH": "TcHmiUserManagement",
"REQUIRED": true,
"STARTUPTYPE": 1
}
},
"description": "DESC_EXTENSION",
"propertyOrder": 4,
"required": [
"TcHmiSqliteLogger",
"TcHmiLua",
"TcHmiUserManagement",
"ADS"
],
"type": "object"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::USERGROUPS
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"__SystemAdministrators": {
"ENABLED": true,
"FILEACCESS": 3,
"SYMBOLACCESS": 3
},
"__SystemGuests": {
"ENABLED": true,
"FILEACCESS": 0,
"FILES": {
"/Config/ServerState": 1,
"/FavIcon.ico": 1
},
"SYMBOLACCESS": 0,
"SYMBOLS": {
"DefaultAuthExtension": 1,
"DefaultUserGroup": 1,
"GetCurrentUser": 3,
"GetSymbolAccess": 3,
"Heartbeat": 3,
"IsAuthRequired": 3,
"ListDomains": 3,
"ListUserNames": 3,
"Login": 3,
"Logout": 3,
"SetLocale": 3,
"Unsubscribe": 3,
"UserSelectType": 1
}
},
"__SystemUsers": {
"ENABLED": true,
"FILEACCESS": 3,
"FILES": {
"/Config": 1
},
"SYMBOLACCESS": 0,
"SYMBOLS": {
"ChangeUserSettings": 3,
"ConfirmAlarm": 3,
"CreateEvent": 3,
"DefaultAuthExtension": 1,
"DefaultUserGroup": 1,
"Diagnostics": 3,
"GetConfiguration": 3,
"GetCurrentUser": 3,
"GetDefinitions": 3,
"GetSchema": 3,
"GetSymbolAccess": 3,
"Heartbeat": 3,
"IsAuthRequired": 3,
"ListDomains": 3,
"ListEvents": 3,
"ListSymbols": 3,
"ListUserNames": 3,
"LocalizeText": 3,
"Login": 3,
"Logout": 3,
"SetLocale": 3,
"SubscribeEvents": 3,
"Unsubscribe": 3,
"UnsubscribeEvents": 3,
"UpdateEventsSubscription": 3
}
}
}
JSON Schema
{
"additionalProperties": {
"additionalProperties": false,
"configDescription": "DESC_USERGROUP",
"properties": {
"ENABLED": {
"default": true,
"type": "boolean"
},
"FILEACCESS": {
"$ref": "tchmi:server#/definitions/accessEnum"
},
"FILES": {
"additionalProperties": {
"allOf": [
{
"$ref": "tchmi:server#/definitions/accessEnum"
},
{
"configDescription": "DESC_FILE"
}
]
},
"type": "object"
},
"SYMBOLACCESS": {
"allOf": [
{
"$ref": "tchmi:server#/definitions/accessEnum"
},
{
"configDescription": "DESC_SYMBOLACCESS"
}
]
},
"SYMBOLS": {
"additionalProperties": {
"allOf": [
{
"$ref": "tchmi:server#/definitions/accessEnum"
},
{
"configDescription": "DESC_SYMBOL"
},
{
"optionMethod": {
"symbol": "ListSymbolNames"
}
}
]
},
"configDescription": "DESC_USERGROUPS_SYMBOLS",
"type": "object"
}
},
"required": [
"ENABLED",
"SYMBOLACCESS",
"FILEACCESS",
"SYMBOLS",
"FILES"
],
"type": "object"
},
"default": {
"__SystemAdministrators": {
"ENABLED": true,
"FILEACCESS": 3,
"SYMBOLACCESS": 3
},
"__SystemGuests": {
"ENABLED": true,
"FILEACCESS": 0,
"FILES": {
"/Config/ServerState": 1,
"/FavIcon.ico": 1
},
"SYMBOLACCESS": 0,
"SYMBOLS": {
"DefaultAuthExtension": 1,
"DefaultUserGroup": 1,
"GetCurrentUser": 3,
"GetSymbolAccess": 3,
"Heartbeat": 3,
"IsAuthRequired": 3,
"ListDomains": 3,
"ListUserNames": 3,
"Login": 3,
"Logout": 3,
"SetLocale": 3,
"Unsubscribe": 3,
"UserSelectType": 1
}
},
"__SystemUsers": {
"ENABLED": true,
"FILEACCESS": 3,
"FILES": {
"/Config": 1
},
"SYMBOLACCESS": 0,
"SYMBOLS": {
"ChangeUserSettings": 3,
"ConfirmAlarm": 3,
"CreateEvent": 3,
"DefaultAuthExtension": 1,
"DefaultUserGroup": 1,
"Diagnostics": 3,
"GetConfiguration": 3,
"GetCurrentUser": 3,
"GetDefinitions": 3,
"GetSchema": 3,
"GetSymbolAccess": 3,
"Heartbeat": 3,
"IsAuthRequired": 3,
"ListDomains": 3,
"ListEvents": 3,
"ListSymbols": 3,
"ListUserNames": 3,
"LocalizeText": 3,
"Login": 3,
"Logout": 3,
"SetLocale": 3,
"SubscribeEvents": 3,
"Unsubscribe": 3,
"UnsubscribeEvents": 3,
"UpdateEventsSubscription": 3
}
}
},
"description": "DESC_USERGROUPS",
"propertyOrder": 6,
"required": [
"__SystemAdministrators",
"__SystemUsers",
"__SystemGuests"
],
"type": "object"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::USERGROUPUSERS
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"TcHmiUserManagement": {
"__SystemAdministrator": {
"USERGROUPUSERS_GROUPS": [
"__SystemAdministrators"
],
"USERGROUPUSERS_LOCALE": "project"
},
"__SystemGuest": {
"USERGROUPUSERS_GROUPS": [
"__SystemGuests"
],
"USERGROUPUSERS_LOCALE": "project"
}
}
}
JSON Schema
{
"additionalProperties": {
"additionalProperties": {
"additionalProperties": false,
"configDescription": "DESC_USERNAME",
"optionMethod": {
"symbol": "ListUserNames"
},
"properties": {
"USERGROUPUSERS_AUTO_LOGOFF": {
"default": "PT0S",
"format": "timespan",
"type": "string"
},
"USERGROUPUSERS_GROUPS": {
"$ref": "tchmi:server#/definitions/userGroups"
},
"USERGROUPUSERS_LOCALE": {
"allOf": [
{
"$ref": "tchmi:server#/definitions/userLocale"
},
{
"configDescription": "DESC_LOCALE"
}
]
},
"USERGROUPUSERS_TIMEFORMATLOCALE": {
"allOf": [
{
"$ref": "tchmi:server#/definitions/userLocale"
},
{
"configDescription": "DESC_LOCALE"
}
]
},
"USERGROUPUSERS_TIMEZONE": {
"allOf": [
{
"$ref": "tchmi:server#/definitions/userTimeZone"
},
{
"configDescription": "DESC_TIMEZONE"
}
]
}
},
"required": [
"USERGROUPUSERS_LOCALE",
"USERGROUPUSERS_GROUPS",
"USERGROUPUSERS_AUTO_LOGOFF"
],
"type": "object"
},
"configDescription": "DESC_AUTHENTICATION_DOMAIN",
"type": "object"
},
"default": {
"TcHmiUserManagement": {
"__SystemAdministrator": {
"USERGROUPUSERS_GROUPS": [
"__SystemAdministrators"
],
"USERGROUPUSERS_LOCALE": "project"
},
"__SystemGuest": {
"USERGROUPUSERS_GROUPS": [
"__SystemGuests"
],
"USERGROUPUSERS_LOCALE": "project"
}
}
},
"description": "DESC_USERGROUPUSERS",
"propertyOrder": 7,
"required": [
"TcHmiUserManagement"
],
"type": "object"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DEFAULTDOCUMENT
Property is hidden No
Contained in every configuration by default No
Schema
Type array
Unique items Yes
Default value
[
"Default.html"
]
JSON Schema
{
"default": [
"Default.html"
],
"items": {
"format": "filename",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::INTERNALSTORAGE
Property is hidden Yes
Contained in every configuration by default No
Schema
Type object
JSON Schema
{
"additionalProperties": {},
"hidden": true,
"type": "object"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::REMOTESERVERS
Property is hidden No
Contained in every configuration by default No
Schema
Type object
JSON Schema
{
"additionalProperties": {
"additionalProperties": false,
"properties": {
"REMOTE_CONNECT_TIMEOUT": {
"default": "PT5S",
"format": "timespan",
"type": "string"
},
"REMOTE_ENABLED": {
"default": true,
"type": "boolean"
},
"REMOTE_PASSWORD": {
"default": "",
"format": "encrypted",
"propertyOrder": 3,
"type": "string"
},
"REMOTE_URL": {
"propertyOrder": 1,
"type": "string"
},
"REMOTE_USERNAME": {
"configDescription": "DESC_REMOTE_USERNAME",
"default": "",
"propertyOrder": 2,
"type": "string"
}
},
"required": [
"REMOTE_ENABLED",
"REMOTE_URL",
"REMOTE_USERNAME",
"REMOTE_PASSWORD",
"REMOTE_CONNECT_TIMEOUT"
],
"title": "REMOTESERVERS_TITLE",
"type": "object"
},
"configDescription": "DESC_REMOTESERVERS",
"description": "DESC_REMOTESERVERS",
"propertyOrder": 14,
"type": "object"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::REMOTESERVERS_CERTIFICATES
Property is hidden No
Contained in every configuration by default No
Schema
Type array
JSON Schema
{
"configDescription": "DESC_REMOTESERVERS_CERTIFICATES",
"description": "DESC_REMOTESERVERS_CERTIFICATES",
"items": {
"configDescription": "DESC_PEM_CERT",
"default": "",
"format": "certificate",
"type": "string"
},
"propertyOrder": 15,
"type": "array"
}
15.1.1.3 Advanced
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::MAXSESSIONS
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 1
Maximum 4294967295
Default value 128
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"category": "CATEGORY_ADVANCED",
"default": 128,
"description": "DESC_MAXSESSIONS",
"minimum": 1,
"propertyOrder": 8
}
]
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::THREADPOOLSIZE
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 4
Maximum 128
Default value 32
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:server#/definitions/threadPoolSize"
},
{
"category": "CATEGORY_ADVANCED",
"configDescription": "DESC_THREADPOOLSIZE",
"default": 32,
"propertyOrder": 14
}
]
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::FLOODPROTECTION
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Maximum 4294967295
Default value 500
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"category": "CATEGORY_ADVANCED",
"configDescription": "DESC_FLOODPROTECTION",
"default": 500,
"propertyOrder": 10
}
]
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::SHUTDOWNTIMEOUT
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format timespan
Minimum PT1S
Default value "PT10S"
JSON Schema
{
"category": "CATEGORY_ADVANCED",
"default": "PT10S",
"description": "DESC_SHUTDOWNTIMEOUT",
"format": "timespan",
"formatMinimum": "PT1S",
"propertyOrder": 13,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::UPLOADTIMEOUT
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format timespan
Minimum PT1S
Default value "PT20S"
JSON Schema
{
"category": "CATEGORY_ADVANCED",
"default": "PT20S",
"description": "DESC_UPLOADTIMEOUT",
"format": "timespan",
"formatMinimum": "PT1S",
"propertyOrder": 12,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::CHUNKSIZE
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Maximum 4294967295
Default value 1048576
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"category": "CATEGORY_ADVANCED",
"configDescription": "DESC_CHUNKSIZE",
"default": 1048576,
"displayClass": "byte",
"propertyOrder": 4
}
]
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::VIDEOSEGMENTSIZE
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Maximum 4294967295
Default value 1048576
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"category": "CATEGORY_ADVANCED",
"configDescription": "DESC_RANGE_REQUEST_SIZE",
"default": 1048576,
"displayClass": "byte",
"propertyOrder": 5
}
]
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::CHECKSUMENABLED
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"category": "CATEGORY_ADVANCED",
"configDescription": "DESC_CHECKSUMENABLED",
"default": true,
"propertyOrder": 3,
"type": "boolean"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DEFAULTEVENTEXTENSION
Category Advanced
Property is hidden Yes
Contained in every configuration by default No
Schema
Type string
Default value "TcHmiSqliteLogger"
JSON Schema
{
"category": "CATEGORY_ADVANCED",
"default": "TcHmiSqliteLogger",
"description": "DESC_DEFAULTEVENTEXTENSION",
"hidden": true,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DIAGNOSTICS_DOMAINS
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type array
Default value
[]
JSON Schema
{
"category": "CATEGORY_ADVANCED",
"default": [],
"description": "DESC_DIAGNOSTICS_DOMAINS",
"items": {
"minLength": 1,
"optionMethod": {
"symbol": "ListDomains"
},
"type": "string"
},
"propertyOrder": 2,
"type": "array"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::MAXHTTPHEADERSIZE
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 1024
Default value 32768
JSON Schema
{
"category": "CATEGORY_ADVANCED",
"default": 32768,
"description": "DESC_MAXHTTPHEADERSIZE",
"displayClass": "byte",
"minimum": 1024,
"propertyOrder": 6,
"type": "integer"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::MAXREQUESTSIZE
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 1024
Default value 1048576
JSON Schema
{
"category": "CATEGORY_ADVANCED",
"default": 1048576,
"description": "DESC_MAXREQUESTSIZE",
"displayClass": "byte",
"minimum": 1024,
"propertyOrder": 7,
"type": "integer"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::SHOW_CONFIGURATION_HINTS
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"category": "CATEGORY_ADVANCED",
"default": true,
"description": "DESC_SHOW_CONFIGURATION_HINTS",
"propertyOrder": 1,
"type": "boolean"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::HTTP_FLOODPROTECTION
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Maximum 4294967295
Default value 10
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"category": "CATEGORY_ADVANCED",
"configDescription": "DESC_HTTP_FLOODPROTECTION",
"default": 10,
"propertyOrder": 10
}
]
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::INITTIMEOUT
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format timespan
Minimum PT1S
Default value "PT10S"
JSON Schema
{
"category": "CATEGORY_ADVANCED",
"default": "PT10S",
"description": "DESC_INITTIMEOUT",
"format": "timespan",
"formatMinimum": "PT1S",
"propertyOrder": 13,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::MAXCONNECTIONSPERCLIENT
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 1
Default value 32
JSON Schema
{
"category": "CATEGORY_ADVANCED",
"default": 32,
"description": "DESC_MAXCONNECTIONSPERCLIENT",
"minimum": 1,
"propertyOrder": 9,
"type": "integer"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::ENABLE_SERVER_UPDATE
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"category": "CATEGORY_ADVANCED",
"configDescription": "DESC_ENABLE_SERVER_UPDATE",
"default": true,
"propertyOrder": 11,
"type": "boolean"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DISABLED_CONFIGURATION_HINTS
Category Advanced
Property is hidden No
Contained in every configuration by default No
Schema
Type array
Unique items Yes
JSON Schema
{
"category": "CATEGORY_ADVANCED",
"description": "DESC_DISABLED_CONFIG_HINTS",
"items": {
"type": "string"
},
"propertyOrder": 2,
"type": "array",
"uniqueItems": true
}
15.1.1.4 Security
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DEFAULTAUTHEXTENSION
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Default value "TcHmiUserManagement"
JSON Schema
{
"category": "CATEGORY_SECURITY",
"default": "TcHmiUserManagement",
"description": "DESC_DEFAULTAUTHEXTENSION",
"optionMethod": {
"filter": [
{
"comparator": "==",
"path": "authExtension",
"value": true
}
],
"symbol": "ListDomains"
},
"propertyOrder": 12,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::USERSELECTTYPE
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Options
Value Label
0 List box
1 Text field
JSON Schema
{
"category": "CATEGORY_SECURITY",
"default": 0,
"description": "DESC_USERSELECTTYPE",
"enum": [
0,
1
],
"options": [
{
"label": "ENUM_COMBOBOX",
"value": 0
},
{
"label": "ENUM_TEXTFIELD",
"value": 1
}
],
"propertyOrder": 14,
"type": "integer"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::AUTO_LOGOFF
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format timespan
Default value "P30D"
JSON Schema
{
"category": "CATEGORY_SECURITY",
"default": "P30D",
"description": "DESC_AUTO_LOGOFF",
"format": "timespan",
"propertyOrder": 2,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DEFAULTUSERGROUP
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Default value "__SystemUsers"
JSON Schema
{
"category": "CATEGORY_SECURITY",
"default": "__SystemUsers",
"description": "DESC_DEFAULTUSERGROUP",
"optionMethod": {
"symbol": "TcHmiSrv.Config::USERGROUPS"
},
"propertyOrder": 13,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::AUTO_LOGINUSER
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Default value
JSON Schema
{
"category": "CATEGORY_SECURITY",
"default": "",
"optionMethod": {
"symbol": "ListUserNames"
},
"type": "string"
}
15.1.1.4.6 Certificate
PEM or PFX formatted certificate.
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::CERTIFICATE
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format certificate
Default value ""
JSON Schema
{
"category": "CATEGORY_SECURITY",
"configDescription": "DESC_PEM_CERT",
"default": "",
"format": "certificate",
"propertyOrder": 6,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::CERTIFICATEEXPIRATION
Category Security
Property is hidden Yes
Contained in every configuration by default Yes
Schema
Type string
Format timespan
Default value "P14000D"
JSON Schema
{
"category": "CATEGORY_SECURITY",
"default": "P14000D",
"defaultConfigurable": true,
"description": "DESC_CERTIFICATEEXPIRATION",
"format": "timespan",
"hidden": true,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::SELFSIGNEDROOTCA
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format certificate
Default value ""
JSON Schema
{
"category": "CATEGORY_SECURITY",
"default": "",
"description": "DESC_SELFSIGNEDROOTCA",
"format": "certificate",
"propertyOrder": 7,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::SELFSIGNEDROOTCAKEY
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format base64
Default value ""
JSON Schema
{
"category": "CATEGORY_SECURITY",
"default": "",
"description": "DESC_SELFSIGNEDROOTCAKEY",
"format": "base64",
"propertyOrder": 8,
"type": "string"
}
15.1.1.4.10 Key
This key is used to decrypt the certificate.
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::KEY
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format base64
Default value ""
JSON Schema
{
"category": "CATEGORY_SECURITY",
"default": "",
"description": "DESC_KEY",
"format": "base64",
"propertyOrder": 9,
"type": "string"
}
15.1.1.4.11 TempDH
Custom parameters for the Diffie-Hellman (DH) key-exchange.
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::TEMPDH
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format base64
Default value ""
JSON Schema
{
"category": "CATEGORY_SECURITY",
"configDescription": "DESC_TEMPDH",
"default": "",
"format": "base64",
"propertyOrder": 11,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::KEYPASSWORD
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format base64
Default value ""
JSON Schema
{
"category": "CATEGORY_SECURITY",
"default": "",
"description": "DESC_KEYPASSWORD",
"format": "base64",
"propertyOrder": 10,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::AUTHCLIENTCERTIFICATE
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value False
JSON Schema
{
"category": "CATEGORY_SECURITY",
"configDescription": "DESC_AUTHCLIENTCERTIFICATE",
"default": false,
"propertyOrder": 4,
"type": "boolean"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::LOCKOUT_PROTECTION_CLIENT_CERTIF
ICATE
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"category": "CATEGORY_SECURITY",
"configDescription": "DESC_LOCKOUT_PROTECTION_CLIENT_CERTIFICATE",
"default": true,
"propertyOrder": 3,
"type": "boolean"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::CLIENTCERTIFICATES
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type array
Unique items Yes
JSON Schema
{
"category": "CATEGORY_SECURITY",
"description": "DESC_CLIENTCERTIFICATES",
"items": {
"properties": {
"CLIENTCERTIFICATE": {
"configDescription": "DESC_PEM_CERT",
"default": "",
"format": "certificate",
"type": "string"
},
"DEFAULTUSER": {
"default": "",
"optionMethod": {
"symbol": "ListUserNames"
},
"type": "string"
},
"ENABLECLIENTCERTIFICATE": {
"default": true,
"type": "boolean"
}
},
"type": "object"
},
"propertyOrder": 5,
"type": "array",
"uniqueItems": true
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::SAMESITE_ATTRIBUTE
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Options
Value Label
0 None
1 Lax
2 Strict
JSON Schema
{
"category": "CATEGORY_SECURITY",
"configDescription": "DESC_SAMESITE_ATTRIBUTE",
"default": 2,
"enum": [
0,
1,
2
],
"options": [
{
"label": "ENUM_SAMESITE_NONE",
"value": 0
},
{
"label": "ENUM_SAMESITE_LAX",
"value": 1
},
{
"label": "ENUM_SAMESITE_STRICT",
"value": 2
}
],
"propertyOrder": 15,
"type": "integer"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::AUTO_LOGINUSER
Category Security
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Default value ""
JSON Schema
{
"category": "CATEGORY_SECURITY",
"configDescription": "DESC_AUTO_LOGINUSER",
"default": "",
"optionMethod": {
"symbol": "ListUserNames"
},
"propertyOrder": 1,
"type": "string"
}
15.1.1.5 Symbols
15.1.1.5.1 Definitions
Storage for JSON schema definitions.
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DEFINITIONS
Category Symbols
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{}
JSON Schema
{
"additionalProperties": {
"$ref": "tchmi:server#/definitions/schemaRef"
},
"category": "CATEGORY_SYMBOLS",
"default": {},
"description": "DESC_DEFINITIONS",
"type": "object"
}
15.1.1.5.2 Symbols
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::SYMBOLS
Category Symbols
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"DefaultAuthExtension": {
"ACCESS": 3,
"DOMAIN": "TcHmiSrv",
"HIDDEN": true,
"MAPPING": "Config::DEFAULTAUTHEXTENSION",
"SCHEMA": {
"function": true,
"type": "string"
},
"USEMAPPING": true
},
"UserSelectType": {
"ACCESS": 3,
"DOMAIN": "TcHmiSrv",
"HIDDEN": true,
"MAPPING": "Config::USERSELECTTYPE",
"SCHEMA": {
"function": true,
"type": "number"
},
"USEMAPPING": true
}
}
JSON Schema
{
"additionalProperties": {
"$ref": "tchmi:server#/definitions/symbol"
},
"category": "CATEGORY_SYMBOLS",
"default": {
"DefaultAuthExtension": {
"ACCESS": 3,
"DOMAIN": "TcHmiSrv",
"HIDDEN": true,
"MAPPING": "Config::DEFAULTAUTHEXTENSION",
"SCHEMA": {
"function": true,
"type": "string"
},
"USEMAPPING": true
},
"UserSelectType": {
"ACCESS": 3,
"DOMAIN": "TcHmiSrv",
"HIDDEN": true,
"MAPPING": "Config::USERSELECTTYPE",
"SCHEMA": {
"function": true,
"type": "number"
},
"USEMAPPING": true
}
},
"type": "object"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::SYMBOLS
Category Symbols
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"DefaultAuthExtension": {
"ACCESS": 3,
"DOMAIN": "TcHmiSrv",
"DYNAMIC": false,
"HIDDEN": true,
"MAPPING": "Config::DEFAULTAUTHEXTENSION",
"SCHEMA": {
"function": true,
"type": "string"
},
"USEMAPPING": true
},
"DefaultUserGroup": {
"ACCESS": 3,
"DOMAIN": "TcHmiSrv",
"DYNAMIC": false,
"HIDDEN": true,
"MAPPING": "Config::DEFAULTUSERGROUP",
"SCHEMA": {
"function": true,
"type": "string"
},
"USEMAPPING": true
},
"UserSelectType": {
"ACCESS": 3,
"DOMAIN": "TcHmiSrv",
"DYNAMIC": false,
"HIDDEN": true,
"MAPPING": "Config::USERSELECTTYPE",
"SCHEMA": {
"function": true,
"type": "number"
},
"USEMAPPING": true
}
}
JSON Schema
{
"additionalProperties": {
"$ref": "tchmi:server#/definitions/symbol"
},
"category": "CATEGORY_SYMBOLS",
"configDescription": "DESC_SYMBOLS",
"default": {
"DefaultAuthExtension": {
"ACCESS": 3,
"DOMAIN": "TcHmiSrv",
"DYNAMIC": false,
"HIDDEN": true,
"MAPPING": "Config::DEFAULTAUTHEXTENSION",
"SCHEMA": {
"function": true,
"type": "string"
},
"USEMAPPING": true
},
"DefaultUserGroup": {
"ACCESS": 3,
"DOMAIN": "TcHmiSrv",
"DYNAMIC": false,
"HIDDEN": true,
"MAPPING": "Config::DEFAULTUSERGROUP",
"SCHEMA": {
"function": true,
"type": "string"
},
"USEMAPPING": true
},
"UserSelectType": {
"ACCESS": 3,
"DOMAIN": "TcHmiSrv",
"DYNAMIC": false,
"HIDDEN": true,
"MAPPING": "Config::USERSELECTTYPE",
"SCHEMA": {
"function": true,
"type": "number"
},
"USEMAPPING": true
}
},
"type": "object"
}
15.1.1.6 Webserver
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::COOKIEEXPIRATIONDATE
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format timespan
Default value "P30D"
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"default": "P30D",
"description": "DESC_COOKIEEXPIRATIONDATE",
"format": "timespan",
"propertyOrder": 13,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::MAXCONNECTIONSPERCLIENT
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 1
Default value 32
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"default": 32,
"minimum": 1,
"type": "integer"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::NETWORKADAPTER
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Default value
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"default": "",
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::SESSIONSTORAGE
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type object
JSON Schema
{
"additionalProperties": {
"properties": {
"created": {
"format": "date-time",
"type": "string"
},
"domain": {
"type": "string"
},
"userName": {
"type": "string"
}
},
"required": [
"created",
"userName",
"domain"
],
"type": "object"
},
"category": "CATEGORY_WEBSERVER",
"description": "DESC_SESSIONSTORAGE",
"propertyOrder": 18,
"type": "object"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DISCOVERY
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Options
Value Label
0 Disabled
1 Enabled
2 Enabled on alternative port
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"default": 2,
"description": "DISCOVERY_DESC",
"enum": [
0,
1,
2
],
"options": [
{
"label": "DISCOVERY_0_DISABLED",
"value": 0
},
{
"label": "DISCOVERY_1_ENABLED",
"value": 1
},
{
"label": "DISCOVERY_2_ALTERNATIVE",
"value": 2
}
],
"propertyOrder": 1,
"type": "integer"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::REMOTESERVERS
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type object
JSON Schema
{
"additionalProperties": {
"additionalProperties": false,
"configDescription": "DESC_REMOTESERVERS",
"properties": {
"REMOTE_CONNECT_TIMEOUT": {
"default": "PT5S",
"format": "timespan",
"type": "string"
},
"REMOTE_ENABLED": {
"default": true,
"type": "boolean"
},
"REMOTE_PASSWORD": {
"configDescription": "DESC_REMOTE_PASSWORD",
"default": "",
"format": "encrypted",
"propertyOrder": 3,
"type": "string"
},
"REMOTE_URL": {
"propertyOrder": 1,
"type": "string"
},
"REMOTE_USERNAME": {
"configDescription": "DESC_REMOTE_USERNAME",
"default": "",
"propertyOrder": 2,
"type": "string"
}
},
"required": [
"REMOTE_ENABLED",
"REMOTE_URL",
"REMOTE_USERNAME",
"REMOTE_PASSWORD",
"REMOTE_CONNECT_TIMEOUT"
],
"title": "REMOTESERVERS_TITLE",
"type": "object"
},
"category": "CATEGORY_WEBSERVER",
"propertyOrder": 100,
"type": "object"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::REMOTESERVERS_CERTIFICATES
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type array
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"items": {
"configDescription": "DESC_PEM_CERT",
"default": "",
"format": "certificate",
"type": "string"
},
"propertyOrder": 101,
"type": "array"
}
15.1.1.6.8 Endpoints
IPv4 and IPv6 endpoints are supported. Only HTTPS endpoints should be enabled for remote access. Use
the wildcard addresses '0.0.0.0' and '[::]' to accept remote connections on all network interfaces.
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::ENDPOINTS
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type array
Unique items Yes
Minimum number of elements 1
Default value
[
"http://127.0.0.1:1010",
"https://0.0.0.0:1020"
]
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"default": [
"http://127.0.0.1:1010",
"https://0.0.0.0:1020"
],
"description": "DESC_ENDPOINTS",
"items": {
"type": "string"
},
"minItems": 1,
"propertyOrder": 2,
"type": "array",
"uniqueItems": true
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::KEEP_ALIVE
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format timespan
Minimum PT1S
Default value PT40S
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_KEEP_ALIVE",
"default": "PT40S",
"format": "timespan",
"formatMinimum": "PT1S",
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::SOCKET_TIMEOUT
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format timespan
Minimum PT1S
Default value "PT10S"
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_SOCKET_TIMEOUT",
"default": "PT10S",
"format": "timespan",
"formatMinimum": "PT1S",
"propertyOrder": 12,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::ETAGENABLED
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_ETAGENABLED",
"default": true,
"propertyOrder": 8,
"type": "boolean"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::GZIPENABLED
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"default": true,
"description": "DESC_GZIPENABLED",
"propertyOrder": 9,
"type": "boolean"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::GZIPMINSIZE
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Maximum 4294967295
Default value 800
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_GZIP_MIN_SIZE",
"default": 800,
"displayClass": "byte",
"propertyOrder": 11
}
]
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DEFLATECOMPRESSIONLEVEL
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Options
Value Label
1 Best Speed
5 Medium
9 Best Size
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"default": 5,
"description": "DESC_DEFLATECOMPRESSIONLEVEL",
"maximum": 9,
"minimum": 0,
"options": [
{
"label": "GZIP_BEST_SPEED",
"value": 1
},
{
"label": "GZIP_MEDIUM",
"value": 5
},
{
"label": "GZIP_BEST_SIZE",
"value": 9
}
],
"propertyOrder": 12,
"type": "integer"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::PERMESSAGEDEFLATEENABLED
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"default": true,
"description": "DESC_PERMESSAGEDEFLATEENABLED",
"propertyOrder": 10,
"type": "boolean"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::CACHEENABLED
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"default": true,
"description": "DESC_CACHEENABLED",
"propertyOrder": 3,
"type": "boolean"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::CACHEMAXENTRYSIZE
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Maximum 4294967295
Default value 1048576
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_CACHE",
"default": 1048576,
"displayClass": "byte",
"propertyOrder": 5
}
]
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::CACHEMAXSIZE
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Maximum 4294967295
Default value 2097152
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_CACHE",
"default": 2097152,
"displayClass": "byte",
"propertyOrder": 6
}
]
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::CACHEMAXAGE
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format timespan
Default value "P30D"
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_CACHE",
"default": "P30D",
"format": "timespan",
"propertyOrder": 4,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::REMOTEADMINISTRATIONENABLED
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"default": true,
"type": "boolean"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::PLAINADMINISTRATIONENABLED
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"default": true,
"type": "boolean"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::GLOBALHTTPHEADERS
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format multiline
Default value
{LASTMODIFIED}
Strict-Transport-Security: max-age=31536000; includeSubDomains
X-Content-Type-Options: nosniff
Content-Security-Policy: frame-ancestors 'self'
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_GLOBAL_HTTP_HEADERS",
"default": "{LASTMODIFIED}\nStrict-Transport-Security: max-age=31536000; includeSubDomains\nX-
Content-Type-Options: nosniff\nContent-Security-Policy: frame-ancestors 'self'",
"format": "multiline",
"propertyOrder": 16,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::REVALIDATION
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_REFORCE_REVALIDATION",
"default": true,
"type": "boolean"
}
15.1.1.6.24 Mime
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::MIME
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"bin": {
"MIME_TYPE": "application/octet-stream"
},
"bmp": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "image/bmp"
},
"cer": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "application/x-x509-ca-cert"
},
"config": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/xml"
},
"content": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"css": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/css"
},
"dll": {
"MIME_TYPE": "application/octet-stream"
},
"ear": {
"MIME_TYPE": "application/java-archive"
},
"eot": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "vnd.ms-fontobject"
},
"exe": {
"MIME_TYPE": "application/octet-stream"
},
"gif": {
"MIME_TYPE": "image/gif"
},
"htm": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/html"
},
"html": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/html"
},
"ico": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "image/x-icon"
},
"img": {
"MIME_TYPE": "application/octet-stream"
},
"iso": {
"MIME_TYPE": "application/octet-stream"
},
"jar": {
"MIME_TYPE": "application/java-archive"
},
"jpeg": {
"MIME_TYPE": "image/jpeg"
},
"jpg": {
"MIME_TYPE": "image/jpeg"
},
"js": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/javascript"
},
"json": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"jsonp": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/javascript"
},
"localization": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"lp": {
"MIME_ENABLE_CACHE": false,
"MIME_HTTP_HEADERS": "no-store",
"MIME_TYPE": "application/lp"
},
"lua": {
"MIME_ENABLE_CACHE": false,
"MIME_HTTP_HEADERS": "no-store",
"MIME_TYPE": "application/lua"
},
"map": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"mp3": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "audio/mpeg"
},
"mp4": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/mp4"
},
"ogg": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/ogg"
},
"ogv": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/ogg"
},
"otf": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/font-sfnt"
},
"pdf": {
"MIME_TYPE": "application/pdf"
},
"pem": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "application/x-pem-file"
},
"png": {
"MIME_TYPE": "image/png"
},
"shtml": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/html"
},
"svg": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "image/svg+xml"
},
"theme": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"ttf": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/font-sfnt"
},
"txt": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"usercontrol": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"view": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"war": {
"MIME_TYPE": "application/java-archive"
},
"webm": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/webm"
},
"woff": {
"MIME_TYPE": "application/font-woff"
},
"woff2": {
"MIME_TYPE": "application/font-woff2"
},
"xml": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/xml"
},
"zip": {
"MIME_TYPE": "application/zip"
}
}
JSON Schema
{
"additionalProperties": {
"additionalProperties": false,
"configDescription": "DESC_MIME",
"properties": {
"MIME_ENABLE_CACHE": {
"default": true,
"type": "boolean"
},
"MIME_ENABLE_CHUNKING": {
"default": true,
"type": "boolean"
},
"MIME_ENABLE_GZIP": {
"default": false,
"type": "boolean"
},
"MIME_HTTP_HEADERS": {
"format": "multiline",
"type": "string"
},
"MIME_TYPE": {
"type": "string"
}
},
"required": [
"MIME_TYPE",
"MIME_ENABLE_GZIP",
"MIME_ENABLE_CACHE",
"MIME_ENABLE_CHUNKING"
],
"title": "TITLE_MIME",
"type": "object"
},
"category": "CATEGORY_WEBSERVER",
"default": {
"bin": {
"MIME_TYPE": "application/octet-stream"
},
"bmp": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "image/bmp"
},
"cer": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "application/x-x509-ca-cert"
},
"config": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/xml"
},
"content": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"css": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/css"
},
"dll": {
"MIME_TYPE": "application/octet-stream"
},
"ear": {
"MIME_TYPE": "application/java-archive"
},
"eot": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "vnd.ms-fontobject"
},
"exe": {
"MIME_TYPE": "application/octet-stream"
},
"gif": {
"MIME_TYPE": "image/gif"
},
"htm": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/html"
},
"html": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/html"
},
"ico": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "image/x-icon"
},
"img": {
"MIME_TYPE": "application/octet-stream"
},
"iso": {
"MIME_TYPE": "application/octet-stream"
},
"jar": {
"MIME_TYPE": "application/java-archive"
},
"jpeg": {
"MIME_TYPE": "image/jpeg"
},
"jpg": {
"MIME_TYPE": "image/jpeg"
},
"js": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/javascript"
},
"json": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"jsonp": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/javascript"
},
"localization": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"lp": {
"MIME_ENABLE_CACHE": false,
"MIME_HTTP_HEADERS": "no-store",
"MIME_TYPE": "application/lp"
},
"lua": {
"MIME_ENABLE_CACHE": false,
"MIME_HTTP_HEADERS": "no-store",
"MIME_TYPE": "application/lua"
},
"map": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"mp3": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "audio/mpeg"
},
"mp4": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/mp4"
},
"ogg": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/ogg"
},
"ogv": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/ogg"
},
"otf": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/font-sfnt"
},
"pdf": {
"MIME_TYPE": "application/pdf"
},
"pem": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "application/x-pem-file"
},
"png": {
"MIME_TYPE": "image/png"
},
"shtml": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/html"
},
"svg": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "image/svg+xml"
},
"theme": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"ttf": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/font-sfnt"
},
"txt": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"usercontrol": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"view": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"war": {
"MIME_TYPE": "application/java-archive"
},
"webm": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/webm"
},
"woff": {
"MIME_TYPE": "application/font-woff"
},
"woff2": {
"MIME_TYPE": "application/font-woff2"
},
"xml": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/xml"
},
"zip": {
"MIME_TYPE": "application/zip"
}
},
"type": "object"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::CLIENT_CACHE_MAX_AGE
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 0
Default value 0
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_CLIENT_CACHE_MAX_AGE",
"default": 0,
"displayClass": "seconds",
"minimum": 0,
"propertyOrder": 14,
"type": "integer"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::CLIENTPRIORITYLIST
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type array
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_CLIENTPRIORITYLIST",
"items": {
"type": "string"
},
"propertyOrder": 15,
"type": "array"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::KEEP_ALIVE
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format timespan
Minimum PT1S
Default value "PT40S"
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_KEEP_ALIVE",
"default": "PT40S",
"format": "timespan",
"formatMinimum": "PT1S",
"propertyOrder": 13,
"type": "string"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::REVALIDATION
Category Webserver
Property is hidden Yes
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_REFORCE_REVALIDATION",
"default": true,
"hidden": true,
"propertyOrder": 7,
"type": "boolean"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::MIME
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"bin": {
"MIME_TYPE": "application/octet-stream"
},
"bmp": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "image/bmp"
},
"cer": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "application/x-x509-ca-cert"
},
"config": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/xml"
},
"content": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"css": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/css"
},
"dll": {
"MIME_TYPE": "application/octet-stream"
},
"ear": {
"MIME_TYPE": "application/java-archive"
},
"eot": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "vnd.ms-fontobject"
},
"exe": {
"MIME_TYPE": "application/octet-stream"
},
"gif": {
"MIME_TYPE": "image/gif"
},
"htm": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/html"
},
"html": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/html"
},
"ico": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "image/x-icon"
},
"img": {
"MIME_TYPE": "application/octet-stream"
},
"iso": {
"MIME_TYPE": "application/octet-stream"
},
"jar": {
"MIME_TYPE": "application/java-archive"
},
"jpeg": {
"MIME_TYPE": "image/jpeg"
},
"jpg": {
"MIME_TYPE": "image/jpeg"
},
"js": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/javascript"
},
"json": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"jsonp": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/javascript"
},
"localization": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"lp": {
"MIME_ENABLE_CACHE": false,
"MIME_HTTP_HEADERS": "no-store",
"MIME_TYPE": "application/lp"
},
"lua": {
"MIME_ENABLE_CACHE": false,
"MIME_HTTP_HEADERS": "no-store",
"MIME_TYPE": "application/lua"
},
"map": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"mjs": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/javascript"
},
"mp3": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "audio/mpeg"
},
"mp4": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/mp4"
},
"ogg": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/ogg"
},
"ogv": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/ogg"
},
"otf": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/font-sfnt"
},
"pdf": {
"MIME_TYPE": "application/pdf"
},
"pem": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "application/x-pem-file"
},
"png": {
"MIME_TYPE": "image/png"
},
"shtml": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/html"
},
"svg": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "image/svg+xml"
},
"theme": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"ttf": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/font-sfnt"
},
"txt": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"usercontrol": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"view": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"war": {
"MIME_TYPE": "application/java-archive"
},
"webm": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/webm"
},
"woff": {
"MIME_TYPE": "application/font-woff"
},
"woff2": {
"MIME_TYPE": "application/font-woff2"
},
"xml": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/xml"
},
"zip": {
"MIME_TYPE": "application/zip"
}
}
JSON Schema
{
"additionalProperties": {
"additionalProperties": false,
"properties": {
"MIME_ENABLE_CACHE": {
"default": true,
"type": "boolean"
},
"MIME_ENABLE_CHUNKING": {
"default": true,
"type": "boolean"
},
"MIME_ENABLE_GZIP": {
"default": false,
"type": "boolean"
},
"MIME_HTTP_HEADERS": {
"format": "multiline",
"type": "string"
},
"MIME_TYPE": {
"type": "string"
}
},
"required": [
"MIME_TYPE",
"MIME_ENABLE_GZIP",
"MIME_ENABLE_CACHE",
"MIME_ENABLE_CHUNKING"
],
"title": "TITLE_MIME",
"type": "object"
},
"category": "CATEGORY_WEBSERVER",
"configDescription": "DESC_MIME",
"default": {
"bin": {
"MIME_TYPE": "application/octet-stream"
},
"bmp": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "image/bmp"
},
"cer": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "application/x-x509-ca-cert"
},
"config": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/xml"
},
"content": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"css": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/css"
},
"dll": {
"MIME_TYPE": "application/octet-stream"
},
"ear": {
"MIME_TYPE": "application/java-archive"
},
"eot": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "vnd.ms-fontobject"
},
"exe": {
"MIME_TYPE": "application/octet-stream"
},
"gif": {
"MIME_TYPE": "image/gif"
},
"htm": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/html"
},
"html": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/html"
},
"ico": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "image/x-icon"
},
"img": {
"MIME_TYPE": "application/octet-stream"
},
"iso": {
"MIME_TYPE": "application/octet-stream"
},
"jar": {
"MIME_TYPE": "application/java-archive"
},
"jpeg": {
"MIME_TYPE": "image/jpeg"
},
"jpg": {
"MIME_TYPE": "image/jpeg"
},
"js": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/javascript"
},
"json": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"jsonp": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/javascript"
},
"localization": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"lp": {
"MIME_ENABLE_CACHE": false,
"MIME_HTTP_HEADERS": "no-store",
"MIME_TYPE": "application/lp"
},
"lua": {
"MIME_ENABLE_CACHE": false,
"MIME_HTTP_HEADERS": "no-store",
"MIME_TYPE": "application/lua"
},
"map": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"mjs": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/javascript"
},
"mp3": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "audio/mpeg"
},
"mp4": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/mp4"
},
"ogg": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/ogg"
},
"ogv": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/ogg"
},
"otf": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/font-sfnt"
},
"pdf": {
"MIME_TYPE": "application/pdf"
},
"pem": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "application/x-pem-file"
},
"png": {
"MIME_TYPE": "image/png"
},
"shtml": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/html"
},
"svg": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "image/svg+xml"
},
"theme": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/json"
},
"ttf": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "application/font-sfnt"
},
"txt": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"usercontrol": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"view": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/plain"
},
"war": {
"MIME_TYPE": "application/java-archive"
},
"webm": {
"MIME_ENABLE_CACHE": false,
"MIME_ENABLE_CHUNKING": false,
"MIME_TYPE": "video/webm"
},
"woff": {
"MIME_TYPE": "application/font-woff"
},
"woff2": {
"MIME_TYPE": "application/font-woff2"
},
"xml": {
"MIME_ENABLE_GZIP": true,
"MIME_TYPE": "text/xml"
},
"zip": {
"MIME_TYPE": "application/zip"
}
},
"propertyOrder": 17,
"type": "object"
}
General Information
Domain TcHmiSrv
Full symbol path TcHmiSrv.Config::DEFAULTDOCUMENT
Category Webserver
Property is hidden No
Contained in every configuration by default No
Schema
Type array
Unique items Yes
Default value
[
"Default.html"
]
JSON Schema
{
"category": "CATEGORY_WEBSERVER",
"default": [
"Default.html"
],
"description": "DESC_DEFAULTDOCUMENT",
"items": {
"format": "filename",
"type": "string"
},
"type": "array",
"uniqueItems": true
}
15.1.2 ADS
Type Definitions
Name Description
General Properties
15.1.2.1.1 Timeout
Default timeout for ADS requests
General Information
Domain ADS
Full symbol path ADS.Config::TIMEOUT
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format timespan
Minimum PT0.1S
Default value "PT1S"
JSON Schema
{
"configDescription": "DESC_TIMEOUT",
"default": "PT1S",
"format": "timespan",
"formatMinimum": "PT0.1S",
"propertyOrder": 2,
"type": "string"
}
General Information
Domain ADS
Full symbol path ADS.Config::RUNTIME_STATE_CHECK_TIMEOUT
Property is hidden Yes
Contained in every configuration by default No
Schema
Type string
Format timespan
Minimum PT1S
Maximum PT30S
Default value "PT5S"
JSON Schema
{
"default": "PT5S",
"description": "DESC_RUNTIME_STATE_CHECK_TIMEOUT",
"format": "timespan",
"formatMaximum": "PT30S",
"formatMinimum": "PT1S",
"hidden": true,
"propertyOrder": 3,
"type": "string"
}
General Information
Domain ADS
Full symbol path ADS.Config::RUNTIME_STATE_CHECK_INTERVAL
Property is hidden Yes
Contained in every configuration by default No
Schema
Type string
Format timespan
Minimum PT1S
Maximum PT30S
Default value "PT2S"
JSON Schema
{
"default": "PT2S",
"description": "DESC_RUNTIME_STATE_CHECK_INTERVAL",
"format": "timespan",
"formatMaximum": "PT30S",
"formatMinimum": "PT1S",
"hidden": true,
"propertyOrder": 4,
"type": "string"
}
15.1.2.1.4 Runtimes
An ADS connection is established to all enabled runtimes.
General Information
Domain ADS
Full symbol path ADS.Config::RUNTIMES
Property is hidden No
Contained in every configuration by default Yes
Schema
Type object
Default value
{
"PLC1": {
"ENABLED": true,
"NETID": "127.0.0.1.1.1",
"PORT": 851,
"SYMBOLS": {},
"USE_WHITELISTING": false
}
}
JSON Schema
{
"additionalProperties": {
"additionalProperties": false,
"configDescription": "DESC_RUNTIME",
"properties": {
"ENABLED": {
"default": true,
"propertyOrder": 1,
"type": "boolean"
},
"NETID": {
"allOf": [
{
"$ref": "tchmi:server#/definitions/adsRoute"
},
{
"propertyOrder": 2
}
]
},
"PORT": {
"default": 851,
"minimum": 0,
"optionMethod": {
"symbol": "RuntimePorts",
"writeValue": {
"NETID": {
"$data": "#/properties/RUNTIMES/additionalProperties/NETID"
}
}
},
"propertyOrder": 3,
"type": "integer"
},
"SYMBOLS": {
"additionalProperties": {
"configDescription": "DESC_SYMBOL",
"properties": {
"INDEXGROUP": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"INDEXOFFSET": {
"$ref": "tchmi:general#/definitions/UINT32"
},
"TYPENAME": {
"configDescription": "DESC_TYPENAME",
"optionMethod": {
"symbol": "ListCommonTypes"
},
"type": "string"
}
},
"required": [
"INDEXGROUP",
"INDEXOFFSET",
"TYPENAME"
],
"type": "object"
},
"default": {},
"propertyOrder": 5,
"type": "object"
},
"USE_WHITELISTING": {
"default": false,
"propertyOrder": 4,
"type": "boolean"
}
},
"required": [
"PORT",
"USE_WHITELISTING",
"NETID",
"ENABLED",
"SYMBOLS"
],
"type": "object"
},
"configDescription": "DESC_RUNTIMES",
"default": {
"PLC1": {
"ENABLED": true,
"NETID": "127.0.0.1.1.1",
"PORT": 851,
"SYMBOLS": {},
"USE_WHITELISTING": false
}
},
"defaultConfigurable": true,
"propertyOrder": 1,
"type": "object"
}
General Information
Domain ADS
Full symbol path ADS.Config::IGNORED_PLC_ATTRIBUTES
Property is hidden Yes
Contained in every configuration by default No
Schema
Type array
Default value
[
"DisplayMinValue",
"DisplayMaxValue",
"LowerBorder",
"UpperBorder",
"TcRpcEnable",
"TcHmiSymbol.ReadOnly",
"TcHmiSymbol.AddSymbol",
"TcHmiSymbol.AddSymbol.UserGroups",
"TcHmiSymbol.AddSymbol.Hidden"
]
JSON Schema
{
"default": [
"DisplayMinValue",
"DisplayMaxValue",
"LowerBorder",
"UpperBorder",
"TcRpcEnable",
"TcHmiSymbol.ReadOnly",
"TcHmiSymbol.AddSymbol",
"TcHmiSymbol.AddSymbol.UserGroups",
"TcHmiSymbol.AddSymbol.Hidden"
],
"description": "DESC_IGNORED_PLC_ATTRIBUTES",
"hidden": true,
"items": {
"type": "string"
},
"propertyOrder": 5,
"type": "array"
}
General Information
Domain ADS
Full symbol path ADS.Config::VISIBLE_RUNTIME_PORTS
Property is hidden Yes
Contained in every configuration by default No
Schema
Type array
Default value
[
301,
302,
303,
304,
350,
351,
352,
353,
354,
355,
501,
801,
811,
821,
831,
851,
852,
853,
854,
10000,
19800
]
JSON Schema
{
"default": [
301,
302,
303,
304,
350,
351,
352,
353,
354,
355,
501,
801,
811,
821,
831,
851,
852,
853,
854,
10000,
19800
],
"description": "DESC_VISIBLE_RUNTIME_PORTS",
"hidden": true,
"items": {
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT16"
},
{
"minimum": 1
}
]
},
"propertyOrder": 6,
"type": "array"
}
General Information
Domain ADS
Full symbol path ADS.Config::RESPONSE_SIZE_LIMIT
Property is hidden Yes
Contained in every configuration by default No
Schema
Type integer
Minimum 2048
Default value 2097152
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:general#/definitions/INT32"
},
{
"default": 2097152,
"description": "DESC_RESPONSE_SIZE_LIMIT",
"displayClass": "byte",
"hidden": true,
"minimum": 2048,
"propertyOrder": 7,
"type": "integer"
}
]
}
15.1.2.1.8 Limit the number of ADS requests that can be bundled in one sum
request
The PLC task is locked for every request. If a sum request contains too many requests, the PLC cycle time
might be exceeded.
General Information
Domain ADS
Full symbol path ADS.Config::SUM_REQUEST_LIMIT
Property is hidden Yes
Contained in every configuration by default No
Schema
Type integer
Minimum 1
Maximum 1000
Default value 500
JSON Schema
{
"default": 500,
"description": "DESC_SUM_REQUEST_LIMIT",
"hidden": true,
"maximum": 1000,
"minimum": 1,
"propertyOrder": 8,
"type": "integer"
}
General Information
Domain ADS
Full symbol path ADS.Config::NEW_HANDLES_PER_SUM_REQUEST_LIMIT
Property is hidden Yes
Contained in every configuration by default No
Schema
Type integer
Minimum 1
Maximum 1000
Default value 100
JSON Schema
{
"default": 100,
"description": "DESC_NEW_HANDLES_PER_SUM_REQUEST_LIMIT",
"hidden": true,
"maximum": 1000,
"minimum": 1,
"propertyOrder": 9,
"type": "integer"
}
General Information
Domain ADS
Full symbol path ADS.Config::ENABLE_READ_BEFORE_WRITE
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"default": true,
"description": "DESC_ENABLE_READ_BEFORE_WRITE",
"propertyOrder": 10,
"type": "boolean"
}
15.1.2.2.1 adsState
ADS state
General Information
Domain ADS
Schema
Options
Value Label
0 Invalid
1 Idle
2 Reset
3 Init
4 Start
5 Run
6 Stop
7 Save Configuration
8 Load Configuration
9 Power Failure
10 Power Good
11 Error
12 Shutdown
13 Suspend
14 Resume
15 Config
16 Reconfiguring
17 Stopping
18 Incompatible
19 Exception
JSON Schema
{
"enum": [
0,
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19
],
"options": [
{
"label": "adsStateInvalid",
"value": 0
},
{
"label": "adsStateIdle",
"value": 1
},
{
"label": "adsStateReset",
"value": 2
},
{
"label": "adsStateInit",
"value": 3
},
{
"label": "adsStateStart",
"value": 4
},
{
"label": "adsStateRun",
"value": 5
},
{
"label": "adsStateStop",
"value": 6
},
{
"label": "adsStateSaveCfg",
"value": 7
},
{
"label": "adsStateLoadCfg",
"value": 8
},
{
"label": "adsStatePowerFailure",
"value": 9
},
{
"label": "adsStatePowerGood",
"value": 10
},
{
"label": "adsStateError",
"value": 11
},
{
"label": "adsStateShutdown",
"value": 12
},
{
"label": "adsStateSuspend",
"value": 13
},
{
"label": "adsStateResume",
"value": 14
},
{
"label": "adsStateConfig",
"value": 15
},
{
"label": "adsStateReconfig",
"value": 16
},
{
"label": "adsStateStopping",
"value": 17
},
{
"label": "adsStateIncompatible",
"value": 18
},
{
"label": "adsStateException",
"value": 19
}
],
"type": "integer"
}
15.1.3 TcHmiAlarm
General Properties
General Information
Domain TcHmiAlarm
Full symbol path TcHmiAlarm.Config::alarmList
Property is hidden No
Contained in every configuration by default No
Schema
Type object
JSON Schema
{
"additionalProperties": {
"configDescription": "DESC_ALARM_SYMBOL",
"optionMethod": {
"symbol": "ListSymbolNames"
},
"properties": {
"enabled": {
"default": true,
"type": "boolean"
},
"onError": {
"default": true,
"type": "boolean"
},
"rangeList": {
"additionalProperties": {
"additionalProperties": false,
"configDescription": "DESC_RANGE",
"properties": {
"alarmName": {
"propertyOrder": 9,
"type": "string"
},
"enabled": {
"default": true,
"propertyOrder": 1,
"type": "boolean"
},
"eventType": {
"default": 0,
"enum": [
0,
1
],
"options": [
{
"label": "enum_0_alarm",
"value": 0
},
{
"label": "enum_1_message",
"value": 1
}
],
"propertyOrder": 2,
"type": "integer"
},
"filterString": {
"configDescription": "DESC_FILTER",
"propertyOrder": 8,
"type": "string"
},
"interval": {
"default": "PT1S",
"format": "timespan",
"propertyOrder": 4,
"type": "string"
},
"severity": {
"$ref": "tchmi:server#/definitions/severity",
"propertyOrder": 3
}
},
"required": [
"severity",
"interval",
"filterString",
"eventType",
"enabled"
],
"title": "range",
"type": "object"
},
"type": "object"
}
},
"required": [
"rangeList",
"enabled",
"onError"
],
"title": "titleAlarmSymbol",
"type": "object"
},
"configDescription": "DESC_ALARM_LIST",
"type": "object"
}
General Information
Domain TcHmiAlarm
Full symbol path TcHmiAlarm.Config::limitEventCount
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 1
Default value 1000
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"configDescription": "DESC_LIMIT_EVENT_COUNT",
"default": 1000,
"minimum": 1,
"propertyOrder": 1,
"type": "integer"
}
]
}
General Information
Domain TcHmiAlarm
Full symbol path TcHmiAlarm.Config::alarmSymbols
Property is hidden No
Contained in every configuration by default No
Schema
Type object
JSON Schema
{
"additionalProperties": {
"configDescription": "DESC_ALARM_SYMBOL",
"optionMethod": {
"symbol": "ListSymbolNames"
},
"properties": {
"alarmSettings": {
"additionalProperties": {
"additionalProperties": false,
"configDescription": "alarmSetting",
"properties": {
"alarmTextKey": {
"propertyOrder": 9,
"type": "string"
},
"condition": {
"allOf": [
{
"$ref": "tchmi:server#/definitions/filter"
},
{
"minItems": 1
},
{
"configDescription": "DESC_CONDITION",
"propertyOrder": 8
}
]
},
"enabled": {
"default": true,
"propertyOrder": 1,
"type": "boolean"
},
"notificationType": {
"default": 1,
"enum": [
0,
1,
2
],
"options": [
{
"label": "enum_0_message",
"value": 0
},
{
"label": "enum_1_alarm_with_confirmation",
"value": 1
},
{
"label": "enum_2_alarm",
"value": 2
}
],
"propertyOrder": 2,
"type": "integer"
},
"severity": {
"$ref": "tchmi:server#/definitions/severity",
"propertyOrder": 3
}
},
"required": [
"severity",
"condition",
"notificationType",
"enabled"
],
"type": "object"
},
"propertyOrder": 3,
"type": "object"
},
"enabled": {
"default": true,
"propertyOrder": 0,
"type": "boolean"
},
"interval": {
"default": "PT1S",
"format": "timespan",
"formatMinimum": "PT0.01S",
"propertyOrder": 2,
"type": "string"
},
"onError": {
"configDescription": "DESC_ON_ERROR",
"default": false,
"hidden": true,
"propertyOrder": 1,
"type": "boolean"
}
},
"required": [
"alarmSettings",
"enabled",
"onError",
"interval"
],
"title": "titleAlarmSymbol",
"type": "object"
},
"configDescription": "DESC_ALARM_SYMBOLS",
"propertyOrder": 2,
"type": "object"
}
15.1.4 TcHmiEventLogger
General Properties
General Information
Domain TcHmiEventLogger
Full symbol path TcHmiEventLogger.Config::LIMIT_INITIAL_EVENT_IMPORT
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Maximum 4294967295
Default value 1000
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"configDescription": "DESC_LIMIT_INITIAL_EVENT_IMPORT",
"default": 1000,
"propertyOrder": 2
}
]
}
General Information
Domain TcHmiEventLogger
Full symbol path TcHmiEventLogger.Config::TARGET_SYSTEMS
Property is hidden No
Contained in every configuration by default Yes
Schema
Type object
Default value
{
"Local": {
"ADDRESS": "127.0.0.1.1.1",
"ENABLED": true
}
}
JSON Schema
{
"additionalProperties": {
"additionalProperties": false,
"configDescription": "DESC_TARGET_SYSTEM",
"properties": {
"ADDRESS": {
"$ref": "tchmi:server#/definitions/adsRoute"
},
"ENABLED": {
"default": true,
"type": "boolean"
}
},
"required": [
"ADDRESS",
"ENABLED"
],
"type": "object"
},
"configDescription": "DESC_TARGET_SYSTEMS",
"default": {
"Local": {
"ADDRESS": "127.0.0.1.1.1",
"ENABLED": true
}
},
"defaultConfigurable": true,
"propertyOrder": 1,
"type": "object"
}
General Information
Domain TcHmiEventLogger
Full symbol path TcHmiEventLogger.Config::LIMIT_EVENT_COUNT
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Maximum 4294967295
Default value 1000
JSON Schema
{
"allOf": [
{
"$ref": "tchmi:general#/definitions/UINT32"
},
{
"configDescription": "DESC_LIMIT_EVENT_COUNT",
"default": 1000,
"propertyOrder": 2
}
]
}
15.1.5 TcHmiLua
General Properties
General Information
Domain TcHmiLua
Full symbol path TcHmiLua.Config::HTML_ERRORS
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value False
JSON Schema
{
"configDescription": "DESC_HTML_ERRORS",
"default": false,
"type": "boolean"
}
General Information
Domain TcHmiLua
Full symbol path TcHmiLua.Config::SCRIPT_TIMEOUT
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format timespan
Minimum PT5S
Default value "PT10S"
JSON Schema
{
"configDescription": "DESC_SCRIPT_TIMEOUT",
"default": "PT10S",
"format": "timespan",
"formatMinimum": "PT5S",
"type": "string"
}
15.1.6 TcHmiOpcUa
Type Definitions
Name Description
UA.LocalizedText [} 1151] Localized text
UA.QualifiedName [} 1152] Qualified name
namespace [} 1152] OPC-UA namespace
connection [} 1153] Connection settings
advanced [} 1154] Advanced settings
General Properties
15.1.6.1.1 UA.LocalizedText
Localized text
General Information
Domain TcHmiOpcUa
Schema
Type object
JSON Schema
{
"description": "descUaLocalizedText",
"properties": {
"Locale": {
"type": "integer"
},
"Text": {
"type": "string"
}
},
"required": [
"Locale",
"Text"
],
"type": "object"
}
15.1.6.1.2 UA.QualifiedName
Qualified name
General Information
Domain TcHmiOpcUa
Schema
Type object
JSON Schema
{
"description": "descUaQualifiedName",
"properties": {
"Name": {
"type": "string"
},
"NamespaceIndex": {
"type": "integer"
}
},
"required": [
"NamespaceIndex",
"Name"
],
"type": "object"
}
15.1.6.1.3 namespace
OPC-UA namespace
General Information
Domain TcHmiOpcUa
Schema
Type object
JSON Schema
{
"additionalProperties": false,
"description": "descNamespace",
"properties": {
"advanced": {
"optionMethod": {
"symbol": "Config::advancedSettings"
},
"type": "string"
},
"connection": {
"optionMethod": {
"symbol": "Config::connectionSettings"
},
"type": "string"
},
"endpoint": {
"type": "string"
},
"security": {
"optionMethod": {
"symbol": "Config::securitySettings"
},
"type": "string"
}
},
"required": [
"advanced",
"connection",
"endpoint",
"security"
],
"type": "object"
}
15.1.6.1.4 connection
Connection settings
General Information
Domain TcHmiOpcUa
Schema
Type object
JSON Schema
{
"additionalProperties": false,
"description": "descConnection",
"properties": {
"connectionTimeout": {
"default": "PT1S",
"format": "timespan",
"formatMaximum": "PT10S",
"formatMinimum": "PT0.1S",
"type": "string"
},
"readTimeout": {
"default": "PT10S",
"format": "timespan",
"formatMaximum": "PT30S",
"formatMinimum": "PT0.1S",
"type": "string"
},
"reconnectMode": {
"default": 0,
"enum": [
0,
1,
2
],
"options": [
{
"label": "none",
"value": 0
},
{
"label": "auto",
"value": 1
},
{
"label": "onRequest",
"value": 2
}
],
"type": "integer"
},
"reconnectTries": {
"type": "integer"
}
},
"required": [
"reconnectMode",
"reconnectTries",
"connectionTimeout",
"readTimeout"
],
"type": "object"
}
15.1.6.1.5 advanced
Advanced settings
General Information
Domain TcHmiOpcUa
Schema
Type object
JSON Schema
{
"additionalProperties": false,
"description": "descAdvanced",
"properties": {
"arrayCloseReplacement": {
"type": "string"
},
"arrayOpenReplacement": {
"type": "string"
},
"browseValueSubelements": {
"type": "boolean"
},
"definitionNameMode": {
"configDescription": "DESC_DEFINITIONNAMEMODE",
"default": 0,
"enum": [
0,
1,
2
],
"options": [
{
"label": "useReferenceTypesAsDefinitionNames",
"value": 0
},
{
"label": "useNodeTypesAsDefinitionNames",
"value": 1
},
{
"label": "useNodeIdsAsDefinitionNames",
"value": 2
}
],
"type": "integer"
},
"doublePointReplacement": {
"type": "string"
},
"forbiddenReferenceNodes": {
"configDescription": "DESC_FORBIDDENREFERENCENODES",
"properties": {
"binaryNodes": {
"items": {
"format": "base64",
"type": "string"
},
"type": "array"
},
"guidNodes": {
"items": {
"type": "string"
},
"type": "array"
},
"integerNodes": {
"items": {
"type": "number"
},
"type": "array"
},
"stringNodes": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"ignoreNodes": {
"configDescription": "DESC_IGNORENODES",
"properties": {
"binaryNodes": {
"items": {
"format": "base64",
"type": "string"
},
"type": "array"
},
"guidNodes": {
"items": {
"type": "string"
},
"type": "array"
},
"integerNodes": {
"items": {
"type": "number"
},
"type": "array"
},
"stringNodes": {
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"startPoint": {
"configDescription": "DESC_STARTPOINT",
"default": {
"binaryIdentifier": "",
"guidIdentifier": "",
"identifierType": 0,
"integerIdentifier": 85,
"namespaceIndex": 0,
"stringIdentifier": ""
},
"properties": {
"binaryIdentifier": {
"format": "base64",
"type": "string"
},
"guidIdentifier": {
"type": "string"
},
"identifierType": {
"type": "number"
},
"integerIdentifier": {
"type": "number"
},
"namespaceIndex": {
"type": "number"
},
"stringIdentifier": {
"type": "string"
}
},
"type": "object"
}
},
"required": [
"arrayCloseReplacement",
"arrayOpenReplacement",
"browseValueSubelements",
"doublePointReplacement",
"definitionNameMode",
"ignoreNodes",
"forbiddenReferenceNodes",
"startPoint"
],
"type": "object"
}
15.1.6.1.6 security
Security Settings
General Information
Domain TcHmiOpcUa
Schema
Type object
JSON Schema
{
"additionalProperties": false,
"properties": {
"acceptAllServerCertificates": {
"default": true,
"type": "boolean"
},
"acceptSelfSignedCertificates": {
"default": true,
"type": "boolean"
},
"authEnabled": {
"default": false,
"type": "boolean"
},
"certificateTrust": {
"default": "",
"format": "certificate",
"type": "string"
},
"clientCertificate": {
"default": "",
"format": "certificate",
"type": "string"
},
"clientPrivatekey": {
"default": "",
"format": "base64",
"type": "string"
},
"globalPassword": {
"default": "",
"format": "encrypted",
"type": "string"
},
"globalUser": {
"default": "",
"type": "string"
},
"policyMode": {
"enum": [
"http://opcfoundation.org/UA/SecurityPolicy#None",
"http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15",
"http://opcfoundation.org/UA/SecurityPolicy#Basic256",
"http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"
],
"options": [
{
"label": "none",
"value": "http://opcfoundation.org/UA/SecurityPolicy#None"
},
{
"label": "Basic128Rsa15",
"value": "http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15"
},
{
"label": "Basic256",
"value": "http://opcfoundation.org/UA/SecurityPolicy#Basic256"
},
{
"label": "Basic256Sha256",
"value": "http://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256"
}
],
"type": "string"
},
"securityMode": {
"default": 1,
"enum": [
1,
2,
3
],
"options": [
{
"label": "none",
"value": 1
},
{
"label": "sign",
"value": 2
},
{
"label": "signAndEncrypt",
"value": 3
}
],
"type": "integer"
},
"useGlobalUaUser": {
"configDescription": "USEGLOBALUAUSER_DESC",
"default": true,
"type": "boolean"
},
"useHmiServerCertificate": {
"default": false,
"type": "boolean"
}
},
"required": [
"acceptAllServerCertificates",
"acceptSelfSignedCertificates",
"authEnabled",
"certificateTrust",
"clientCertificate",
"clientPrivatekey",
"globalPassword",
"globalUser",
"policyMode",
"securityMode",
"useGlobalUaUser",
"useHmiServerCertificate"
],
"type": "object"
}
15.1.6.2.1 Namespaces
OPC-UA namespaces.
General Information
Domain TcHmiOpcUa
Full symbol path TcHmiOpcUa.Config::namespaces
Property is hidden No
Contained in every configuration by default Yes
Schema
Type object
Default value
{
"basic": {
"advanced": "basic",
"connection": "basic",
"endpoint": "opc.tcp://127.0.0.1:4840",
"security": "basic"
}
}
JSON Schema
{
"additionalProperties": {
"$ref": "#/definitions/namespace"
},
"default": {
"basic": {
"advanced": "basic",
"connection": "basic",
"endpoint": "opc.tcp://127.0.0.1:4840",
"security": "basic"
}
},
"defaultConfigurable": true,
"description": "descNamespaces",
"propertyOrder": 3,
"type": "object"
}
General Information
Domain TcHmiOpcUa
Full symbol path TcHmiOpcUa.Config::connectionSettings
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"basic": {
"reconnectMode": 0,
"reconnectTries": 0
}
}
JSON Schema
{
"additionalProperties": {
"$ref": "#/definitions/connection"
},
"default": {
"basic": {
"reconnectMode": 0,
"reconnectTries": 0
}
},
"description": "descConnectionSettings",
"propertyOrder": 2,
"type": "object"
}
General Information
Domain TcHmiOpcUa
Full symbol path TcHmiOpcUa.Config::securitySettings
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"basic": {
"acceptAllServerCertificates": true,
"acceptSelfSignedCertificates": true,
"certificateTrust": "",
"clientCertificate": "",
"clientPrivatekey": "",
"globalPassword": "",
"globalUser": "",
"policyMode": "http://opcfoundation.org/UA/SecurityPolicy#None",
"securityMode": 1,
"useGlobalUaUser": true,
"useHmiServerCertificate": false
}
}
JSON Schema
{
"additionalProperties": {
"$ref": "#/definitions/security"
},
"default": {
"basic": {
"acceptAllServerCertificates": true,
"acceptSelfSignedCertificates": true,
"certificateTrust": "",
"clientCertificate": "",
"clientPrivatekey": "",
"globalPassword": "",
"globalUser": "",
"policyMode": "http://opcfoundation.org/UA/SecurityPolicy#None",
"securityMode": 1,
"useGlobalUaUser": true,
"useHmiServerCertificate": false
}
},
"description": "descSecuritySettings",
"propertyOrder": 4,
"type": "object"
}
General Information
Domain TcHmiOpcUa
Full symbol path TcHmiOpcUa.Config::advancedSettings
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"basic": {
"arrayCloseReplacement": "_HMI_RESERVED_ARRAYCLOSE_",
"arrayOpenReplacement": "_HMI_RESERVED_ARRAYOPEN_",
"browseValueSubelements": false,
"doublePointReplacement": "_HMI_RESERVED_DOUBLECOLON_"
}
}
JSON Schema
{
"additionalProperties": {
"$ref": "#/definitions/advanced"
},
"default": {
"basic": {
"arrayCloseReplacement": "_HMI_RESERVED_ARRAYCLOSE_",
"arrayOpenReplacement": "_HMI_RESERVED_ARRAYOPEN_",
"browseValueSubelements": false,
"doublePointReplacement": "_HMI_RESERVED_DOUBLECOLON_"
}
},
"description": "descAdvancedSettings",
"propertyOrder": 1,
"type": "object"
}
15.1.7 TcHmiRecipeManagement
Type Definitions
Name Description
folderRecipe [} 1161] Folder for recipes and/or folders
folderRecipeType [} 1161] Folder for recipe types and/or folders
recipe [} 1162] Recipes are based on recipe types
recipeType [} 1162] Recipe type is a general description of a set of symbols
15.1.7.1.1 folderRecipe
Folder for recipes and/or folders
General Information
Domain TcHmiRecipeManagement
Schema
Type object
JSON Schema
{
"additionalProperties": false,
"configDescription": "DESC_FOLDER_RECIPE",
"hidden": true,
"patternProperties": {
"^(\\.\\..+|\\..*[^.]|\\..{2,}|(?!\\.\\.|\\.).*)$": {
"oneOf": [
{
"$ref": "#/definitions/recipe"
},
{
"$ref": "#/definitions/folderRecipe"
}
]
}
},
"type": "object"
}
15.1.7.1.2 folderRecipeType
Folder for recipe types and/or folders
General Information
Domain TcHmiRecipeManagement
Schema
Type object
JSON Schema
{
"additionalProperties": false,
"configDescription": "DESC_FOLDER_RECIPETYPE",
"hidden": true,
"patternProperties": {
"^(\\.\\..+|\\..*[^.]|\\..{2,}|(?!\\.\\.|\\.).*)$": {
"oneOf": [
{
"$ref": "#/definitions/recipeType"
},
{
"$ref": "#/definitions/folderRecipeType"
}
]
}
},
"type": "object"
}
15.1.7.1.3 recipe
Recipes are based on recipe types
General Information
Domain TcHmiRecipeManagement
Schema
Type object
JSON Schema
{
"additionalProperties": false,
"configDescription": "DESC_RECIPE",
"properties": {
"recipeTypeName": {
"type": "string"
},
"values": {
"additionalProperties": {},
"type": "object"
}
},
"required": [
"recipeTypeName",
"values"
],
"type": "object"
}
15.1.7.1.4 recipeType
Recipe type is a general description of a set of symbols
General Information
Domain TcHmiRecipeManagement
Schema
Type object
JSON Schema
{
"additionalProperties": false,
"configDescription": "DESC_RECIPETYPE",
"properties": {
"members": {
"additionalProperties": {
"anyOf": [
{
"properties": {
"comment": {
"default": "",
"type": "string"
},
"defaultValue": {},
"enabled": {
"default": false,
"type": "boolean"
},
"group": {
"default": "",
"type": "string"
},
"order": {
"type": "integer"
},
"schema": {
"$ref": "tchmi:server#/definitions/schemaRef"
},
"symbol": {
"default": "",
"type": "string"
},
"unit": {
"default": "",
"type": "string"
}
},
"required": [
"symbol",
"defaultValue"
],
"type": "object"
},
{
"properties": {
"comment": {
"default": "",
"type": "string"
},
"enabled": {
"default": true,
"type": "boolean"
},
"group": {
"default": "",
"type": "string"
},
"order": {
"type": "integer"
},
"recipeType": {
"type": "string"
},
"unit": {
"default": "",
"type": "string"
}
},
"required": [
"recipeType"
],
"type": "object"
}
]
},
"type": "object"
},
"options": {
"additionalProperties": {},
"properties": {
"comment": {
"default": "",
"type": "string"
},
"enabled": {
"enum": [
"None",
"Disabled"
],
"type": "string"
}
},
"type": "object"
},
"recipeTypeNames": {
"items": {
"type": "string"
},
"uniqueItems": true
}
},
"required": [
"members"
],
"type": "object"
}
15.1.8 TcHmiSqliteHistorize
Type Definitions
Name Description
stringTypeArray [} 1165] Width of the XAxis in milliseconds.
General Properties
15.1.8.1.1 stringTypeArray
Width of the XAxis in milliseconds.
General Information
Domain TcHmiSqliteHistorize
Schema
Enumeration value
Null
First
Latest
JSON Schema
{
"configDescription": "descStringTypeArray",
"oneOf": [
{
"description": "descStringTypeArrayTimespan",
"format": "timespan",
"type": "string"
},
{
"description": "descStringTypeArrayTimestamp",
"format": "date-time",
"type": "string"
},
{
"description": "descStringTypeArrayStartPoint",
"enum": [
"Null",
"First",
"Latest"
],
"type": "string"
}
]
}
General Information
Domain TcHmiSqliteHistorize
Full symbol path TcHmiSqliteHistorize.Config::historizedSymbolList
Property is hidden No
Contained in every configuration by default Yes
Schema
Type object
JSON Schema
{
"additionalProperties": {
"additionalProperties": false,
"configDescription": "descHistorizedSymbol",
"optionMethod": {
"symbol": "ListSymbolNames"
},
"properties": {
"interval": {
"default": "PT1S",
"format": "timespan",
"formatMinimum": "PT0.01S",
"type": "string"
},
"maxEntries": {
"default": 10000,
"minimum": 1,
"type": "integer"
},
"recordingEnabled": {
"default": true,
"type": "boolean"
},
"rowLimit": {
"default": 100000,
"hidden": true,
"minimum": 1,
"type": "integer"
}
},
"required": [
"maxEntries",
"interval",
"recordingEnabled",
"rowLimit"
],
"title": "TITLE_HISTORIZE_SYMBOL",
"type": "object"
},
"configDescription": "descHistorizedSymbolList",
"defaultConfigurable": true,
"propertyOrder": 1,
"type": "object"
}
General Information
Domain TcHmiSqliteHistorize
Full symbol path TcHmiSqliteHistorize.Config::enableBackup
Property is hidden No
Contained in every configuration by default Yes
Schema
Type boolean
Default value False
JSON Schema
{
"configDescription": "descEnableBackup",
"default": false,
"defaultConfigurable": true,
"propertyOrder": 2,
"type": "boolean"
}
General Information
Domain TcHmiSqliteHistorize
Full symbol path TcHmiSqliteHistorize.Config::maxBackups
Property is hidden No
Contained in every configuration by default Yes
Schema
Type integer
Minimum 1
Default value 1
JSON Schema
{
"configDescription": "descMaxBackup",
"default": 1,
"defaultConfigurable": true,
"minimum": 1,
"propertyOrder": 3,
"type": "integer"
}
General Information
Domain TcHmiSqliteHistorize
Full symbol path TcHmiSqliteHistorize.Config::inMemory
Property is hidden No
Contained in every configuration by default Yes
Schema
Type boolean
Default value False
JSON Schema
{
"configDescription": "descInMemory",
"default": false,
"defaultConfigurable": true,
"propertyOrder": 4,
"type": "boolean"
}
General Information
Domain TcHmiSqliteHistorize
Full symbol path TcHmiSqliteHistorize.Config::vacuumOnStartup
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value False
JSON Schema
{
"configDescription": "descVacuumOnStartup",
"default": false,
"propertyOrder": 5,
"type": "boolean"
}
General Information
Domain TcHmiSqliteHistorize
Full symbol path TcHmiSqliteHistorize.Config::commitInterval
Property is hidden Yes
Contained in every configuration by default No
Schema
Type string
Format timespan
Minimum PT1S
Default value PT10S
JSON Schema
{
"configDescription": "descCommitInterval",
"default": "PT10S",
"format": "timespan",
"formatMinimum": "PT1S",
"hidden": true,
"propertyOrder": 6,
"type": "string"
}
15.1.8.2.7 Mode
A stricter synchronization mode lowers the chance that the database is corrupted in case of a crash or power
failure. The memory journaling mode can also corrupt the database.
General Information
Domain TcHmiSqliteHistorize
Full symbol path TcHmiSqliteHistorize.Config::mode
Property is hidden Yes
Contained in every configuration by default No
Schema
Options
Value Label
0 Synchronous extra, journal mode persist
1 Synchronous full, journal mode persist
2 Synchronous full, journal mode memory
3 Synchronous normal, journal mode persist
4 Synchronous off, journal mode persist
5 Synchronous off, journal mode memory
JSON Schema
{
"configDescription": "descMode",
"default": 3,
"enum": [
0,
1,
2,
3,
4,
5
],
"hidden": true,
"options": [
{
"label": "ENUM_SYNCHRONOUS_EXTRA_PERSIST",
"value": 0
},
{
"label": "ENUM_SYNCHRONOUS_FULL_PERSIST",
"value": 1
},
{
"label": "ENUM_SYNCHRONOUS_FULL_MEMORY",
"value": 2
},
{
"label": "ENUM_SYNCHRONOUS_NORMAL_PERSIST",
"value": 3
},
{
"label": "ENUM_SYNCHRONOUS_OFF_PERSIST",
"value": 4
},
{
"label": "ENUM_SYNCHRONOUS_OFF_MEMORY",
"value": 5
}
],
"propertyOrder": 7,
"type": "integer"
}
15.1.9 TcHmiSqliteLogger
General Properties
General Information
Domain TcHmiSqliteLogger
Full symbol path TcHmiSqliteLogger.Config::MAXENTRIES
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 1
Default value 15000
JSON Schema
{
"configDescription": "DESC_MAXENTRIES",
"default": 15000,
"minimum": 1,
"type": "integer"
}
General Information
Domain TcHmiSqliteLogger
Full symbol path TcHmiSqliteLogger.Config::MAXENTRYLENGTH
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 80
Default value 1024
JSON Schema
{
"configDescription": "DESC_MAXENTRYLENGTH",
"default": 1024,
"displayClass": "byte",
"minimum": 80,
"type": "integer"
}
General Information
Domain TcHmiSqliteLogger
Full symbol path TcHmiSqliteLogger.Config::DEFAULT_LIST_LIMIT
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 1
Default value 1000
JSON Schema
{
"configDescription": "DESC_DEFAULT_LIST_LIMIT",
"default": 1000,
"minimum": 1,
"type": "integer"
}
General Information
Domain TcHmiSqliteLogger
Full symbol path TcHmiSqliteLogger.Config::VACUUM_ON_STARTUP
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value False
JSON Schema
{
"configDescription": "DESC_VACUUM_ON_STARTUP",
"default": false,
"type": "boolean"
}
General Information
Domain TcHmiSqliteLogger
Full symbol path TcHmiSqliteLogger.Config::MAXENTRIES
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 1
Default value 15000
JSON Schema
{
"configDescription": "DESC_MAXENTRIES",
"default": 15000,
"minimum": 1,
"type": "integer"
}
General Information
Domain TcHmiSqliteLogger
Full symbol path TcHmiSqliteLogger.Config::DEFAULT_LIST_LIMIT
Property is hidden No
Contained in every configuration by default No
Schema
Type integer
Minimum 1
Default value 1000
JSON Schema
{
"configDescription": "DESC_DEFAULT_LIST_LIMIT",
"default": 1000,
"minimum": 1,
"type": "integer"
}
15.1.9.1.7 Mode
Synchronous off mode is fast but can corrupt the database in case of a power failure.
General Information
Domain TcHmiSqliteLogger
Full symbol path TcHmiSqliteLogger.Config::MODE
Property is hidden Yes
Contained in every configuration by default No
Schema
Options
Value Label
0 Synchronous extra
1 Synchronous full
3 Synchronous normal
4 Synchronous off
JSON Schema
{
"configDescription": "DESC_MODE",
"default": 1,
"enum": [
0,
1,
3,
4
],
"hidden": true,
"options": [
{
"label": "ENUM_SYNCHRONOUS_EXTRA_PERSIST",
"value": 0
},
{
"label": "ENUM_SYNCHRONOUS_FULL_PERSIST",
"value": 1
},
{
"label": "ENUM_SYNCHRONOUS_NORMAL_PERSIST",
"value": 3
},
{
"label": "ENUM_SYNCHRONOUS_OFF_PERSIST",
"value": 4
}
],
"type": "integer"
}
General Information
Domain TcHmiSqliteLogger
Full symbol path TcHmiSqliteLogger.Config::REDIRECT_DIAGNOSTICS_MESS
AGES_TO_FILE
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value True
JSON Schema
{
"configDescription": "DESC_REDIRECT_DIAGNOSTICS_MESSAGES_TO_FILE",
"default": true,
"type": "boolean"
}
15.1.10 TcHmiUserManagement
General Properties
15.1.10.1.1 Users
Contains the information about all managed user accounts.
General Information
Domain TcHmiUserManagement
Full symbol path TcHmiUserManagement.Config::USERS
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"__SystemAdministrator": {
"ENABLED": false,
"PASSWORD": "",
"SALT": ""
},
"__SystemGuest": {
"ENABLED": true,
"PASSWORD": "",
"SALT": ""
}
}
JSON Schema
{
"additionalProperties": {
"additionalProperties": false,
"configDescription": "DESC_USER",
"properties": {
"ALGORITHM": {
"default": 0,
"enum": [
0,
1
],
"options": [
{
"label": "SHA256",
"value": 0
},
{
"label": "PBKDF2-HMAC-64-SHA512-1000",
"value": 1
}
],
"type": "integer"
},
"ENABLED": {
"default": true,
"type": "boolean"
},
"PASSWORD": {
"default": "",
"type": "string"
},
"SALT": {
"default": "",
"format": "base64",
"type": "string"
}
},
"required": [
"PASSWORD",
"SALT",
"ALGORITHM",
"ENABLED"
],
"type": "object"
},
"default": {
"__SystemAdministrator": {
"ENABLED": false,
"PASSWORD": "",
"SALT": ""
},
"__SystemGuest": {
"ENABLED": true,
"PASSWORD": "",
"SALT": ""
}
},
"description": "DESC_USERS",
"required": [
"__SystemAdministrator",
"__SystemGuest"
],
"type": "object"
}
15.1.11 TcHmiEcDiagnostics
Type Definitions
Name Description
slave [} 1176] EtherCAT slave
Process data (Object entry ID)
EcDiagnosticsProcessData
ObjectEntryID [} 1180]
Process data (Object entry value)
EcDiagnosticsProcessData
ObjectEntryValue [} 1180]
Process data (IN-OUT values)
EcDiagnosticsProcessDataI
nOutValues [} 1181]
General Properties
15.1.11.1.1 slave
EtherCAT slave
General Information
Domain TcHmiEcDiagnostics
Schema
Type object
JSON Schema
{
"description": "descSlave",
"properties": {
"EtherCAT": {
"properties": {
"identity": {
"properties": {
"addrs": {
"properties": {
"autoInc": {
"type": "integer"
},
"phys": {
"type": "integer"
}
},
"required": [
"autoInc",
"phys"
],
"type": "object"
},
"name": {
"type": "string"
},
"product": {
"type": "integer"
},
"revision": {
"type": "integer"
},
"serial": {
"type": "integer"
},
"type": {
"type": "string"
},
"vendor": {
"properties": {
"id": {
"type": "integer"
},
"memberNameLong": {
"type": "string"
},
"memberNameShort": {
"type": "string"
}
},
"required": [
"id",
"memberNameLong",
"memberNameShort"
],
"type": "object"
}
},
"required": [
"addrs",
"name",
"product",
"revision",
"serial",
"type",
"vendor"
],
"type": "object"
},
"syncUnitsAssignment": {
"items": [
{
"type": "integer"
}
],
"type": "array"
}
},
"required": [
"identity",
"syncUnitsAssignment"
],
"type": "object"
},
"hotConnect": {
"properties": {
"isHotConnectHead": {
"type": "boolean"
},
"isHotConnectSlave": {
"type": "boolean"
},
"slaveCountActual": {
"type": "integer"
},
"slaveCountConfig": {
"type": "integer"
}
},
"required": [
"isHotConnectHead",
"isHotConnectSlave",
"slaveCountActual",
"slaveCountConfig"
],
"type": "object"
},
"ports": {
"items": [
{
"properties": {
"autoIncAddr": {
"type": "integer"
},
"configured": {
"type": "boolean"
},
"configuredSlave": {
"$ref": "#/definitions/slave"
},
"physAddr": {
"type": "integer"
},
"physic": {
"type": "integer"
},
"redundancy": {
"type": "boolean"
},
"redundancyPath": {
"type": "boolean"
}
},
"required": [
"autoIncAddr",
"configured",
"physAddr",
"physic"
],
"type": "object"
}
],
"type": "array"
},
"processData": {
"properties": {
"in": {
"items": [
{
"properties": {
"entries": {
"items": [
{
"properties": {
"bitLength": {
"type": "integer"
},
"index": {
"type": "string"
},
"name": {
"type": "string"
},
"subIndex": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"bitLength",
"index",
"name",
"subIndex",
"type"
],
"type": "object"
}
],
"type": "array"
},
"index": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"entries",
"index",
"name"
],
"type": "object"
}
],
"type": "array"
},
"out": {
"items": [
{
"properties": {
"entries": {
"items": [
{
"properties": {
"bitLength": {
"type": "integer"
},
"index": {
"type": "string"
},
"name": {
"type": "string"
},
"subIndex": {
"type": "string"
},
"type": {
"type": "string"
}
},
"required": [
"bitLength",
"index",
"name",
"subIndex",
"type"
],
"type": "object"
}
],
"type": "array"
},
"index": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"entries",
"index",
"name"
],
"type": "object"
}
],
"type": "array"
}
},
"required": [
"in",
"out"
],
"type": "object"
}
},
"required": [
"EtherCAT",
"hotConnect",
"ports",
"processData"
],
"type": "object"
}
15.1.11.1.2 EcDiagnosticsProcessDataObjectEntryID
Process data (Object entry ID)
General Information
Domain TcHmiEcDiagnostics
Schema
Type object
JSON Schema
{
"description": "descEcDiagnosticsProcessDataObjectEntryID",
"properties": {
"entryIndex": {
"type": "string"
},
"entrySubIndex": {
"type": "string"
},
"io": {
"type": "string"
},
"objectIndex": {
"type": "string"
}
},
"required": [
"io",
"objectIndex",
"entryIndex",
"entrySubIndex"
],
"type": "object"
}
15.1.11.1.3 EcDiagnosticsProcessDataObjectEntryValue
Process data (Object entry value)
General Information
Domain TcHmiEcDiagnostics
Schema
Type object
JSON Schema
{
"description": "descEcDiagnosticsProcessDataObjectEntryValue",
"properties": {
"entryValue": {}
},
"required": [
"entryValue"
],
"type": "object"
}
15.1.11.1.4 EcDiagnosticsProcessDataInOutValues
Process data (IN-OUT values)
General Information
Domain TcHmiEcDiagnostics
Schema
Type object
JSON Schema
{
"description": "descEcDiagnosticsProcessDataInOutValues",
"properties": {
"entries": {
"items": [
{
"properties": {
"error": {
"properties": {
"code": {
"type": "number"
},
"message": {
"type": "string"
},
"reason": {
"type": "string"
}
},
"type": "object"
},
"forced": {
"type": "boolean"
},
"index": {
"type": "string"
},
"subIndex": {
"type": "string"
},
"value": {}
},
"required": [
"index",
"subIndex"
],
"type": "object"
}
],
"type": "array"
},
"index": {
"type": "string"
}
},
"required": [
"in",
"out"
],
"type": "object"
}
General Information
Domain TcHmiEcDiagnostics
Full symbol path TcHmiEcDiagnostics.Config::devices
Property is hidden No
Contained in every configuration by default Yes
Schema
Type object
Default value
{
"Device1": {
"enabled": true,
"masterNetId": "0.0.0.0.2.1",
"targetNetId": "0.0.0.0.1.1"
}
}
JSON Schema
{
"additionalProperties": {
"properties": {
"enabled": {
"default": true,
"propertyOrder": 1,
"type": "boolean"
},
"masterNetId": {
"format": "amsnetid",
"optionMethod": {
"symbol": "TcHmiEcDiagnostics.ListMastersOfRoute",
"writeValue": {
"$data": "#/properties/devices/additionalProperties/targetNetId"
}
},
"propertyOrder": 3,
"type": "string"
},
"targetNetId": {
"format": "amsnetid",
"optionMethod": {
"symbol": "ADS.ListRoutes"
},
"propertyOrder": 2,
"type": "string"
}
},
"required": [
"enabled",
"targetNetId",
"masterNetId"
],
"type": "object"
},
"default": {
"Device1": {
"enabled": true,
"masterNetId": "0.0.0.0.2.1",
"targetNetId": "0.0.0.0.1.1"
}
},
"defaultConfigurable": true,
"description": "devices",
"propertyOrder": 1,
"type": "object"
}
General Information
Domain TcHmiEcDiagnostics
Full symbol path TcHmiEcDiagnostics.Config::vendorsOverwrite
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"1": {
"longName": "EtherCAT Technology Group",
"shortName": "ETG"
},
"2": {
"longName": "Beckhoff Automation GmbH & Co. KG",
"shortName": "Beckhoff"
}
}
JSON Schema
{
"additionalProperties": {
"additionalProperties": false,
"properties": {
"devices": {
"items": {
"additionalProperties": false,
"properties": {
"longName": {
"type": "string"
},
"pattern": {
"type": "string"
},
"shortName": {
"type": "string"
}
},
"required": [
"pattern"
],
"type": "object"
},
"type": "array"
},
"longName": {
"type": "string"
},
"shortName": {
"type": "string"
}
},
"required": [
"devices"
],
"type": "object"
},
"default": {
"1": {
"longName": "EtherCAT Technology Group",
"shortName": "ETG"
},
"2": {
"longName": "Beckhoff Automation GmbH & Co. KG",
"shortName": "Beckhoff"
}
},
"description": "descVendorsOverwrite",
"propertyOrder": 2,
"type": "object"
}
15.1.12 TcHmiLdap
Type Definitions
Name Description
General Properties
HMI Authentication
LDAP Authentication
Group mappings
15.1.12.1.1 ldapAttributeValue
Attribute value
General Information
Domain TcHmiLdap
Schema
Type string
JSON Schema
{
"pattern": "#(?:[\\dA-Fa-f]{2})+|(?:[^,=\\+<>#;\\\\\"]|\\\\[,=\\+<>#;\\\\\"]|\\\\[\\dA-Fa-f]
{2})*|\"(?:[^\\\\\"]|\\\\[,=\\+<>#;\\\\\"]|\\\\[\\dA-Fa-f]{2})*\"",
"type": "string"
}
15.1.12.1.2 ldapDistinguishedName
Distinguished Name
General Information
Domain TcHmiLdap
Schema
Type string
JSON Schema
{
"pattern": "^(?:[A-Za-z][\\w-]*|\\d+(?:\\.\\d+)*)=(?:#(?:[\\dA-Fa-f]{2})+|(?:[^,=\\+<>#;\\\\\"]|
\\\\[,=\\+<>#;\\\\\"]|\\\\[\\dA-Fa-f]{2})*|\"(?:[^\\\\\"]|\\\\[,=\\+<>#;\\\\\"]|\\\\[\\dA-Fa-f]
{2})*\")(?:\\+(?:[A-Za-z][\\w-]*|\\d+(?:\\.\\d+)*)=(?:#(?:[\\dA-Fa-f]{2})+|(?:[^,=\\+<>#;\\\\\"]|\\\
\[,=\\+<>#;\\\\\"]|\\\\[\\dA-Fa-f]{2})*|\"(?:[^\\\\\"]|\\\\[,=\\+<>#;\\\\\"]|\\\\[\\dA-Fa-f]
{2})*\"))*(?:,(?:[A-Za-z][\\w-]*|\\d+(?:\\.\\d+)*)=(?:#(?:[\\dA-Fa-f]{2})+|(?:[^,=\\+<>#;\\\\\"]|\\\
\[,=\\+<>#;\\\\\"]|\\\\[\\dA-Fa-f]{2})*|\"(?:[^\\\\\"]|\\\\[,=\\+<>#;\\\\\"]|\\\\[\\dA-Fa-f]{2})*\")
(?:\\+(?:[A-Za-z][\\w-]*|\\d+(?:\\.\\d+)*)=(?:#(?:[\\dA-Fa-f]{2})+|(?:[^,=\\+<>#;\\\\\"]|\\\\[,=\\
+<>#;\\\\\"]|\\\\[\\dA-Fa-f]{2})*|\"(?:[^\\\\\"]|\\\\[,=\\+<>#;\\\\\"]|\\\\[\\dA-Fa-f]
{2})*\"))*)*$",
"type": "string"
}
15.1.12.2.1 Host
A hostname, a domain name or an IP address. IPv6 is currently not supported.
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::HOST
Property is hidden No
Contained in every configuration by default Yes
Schema
Type string
Default value ""
JSON Schema
{
"default": "",
"defaultConfigurable": true,
"description": "DESC_HOST",
"propertyOrder": 1,
"type": "string"
}
15.1.12.2.2 Port
The most common ports are 636 for TLS and 389 for unencrypted connections.
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::PORT
Property is hidden No
Contained in every configuration by default Yes
Schema
Type integer
Minimum 1
Default value 389
JSON Schema
{
"default": 389,
"defaultConfigurable": true,
"description": "DESC_PORT",
"minimum": 1,
"propertyOrder": 2,
"type": "integer"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::USE_TLS
Property is hidden No
Contained in every configuration by default Yes
Schema
Type boolean
Default value False
JSON Schema
{
"configDescription": "DESC_USE_TLS",
"default": false,
"defaultConfigurable": true,
"propertyOrder": 3,
"type": "boolean"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::TRUST_ALL_CERTIFICATES
Property is hidden No
Contained in every configuration by default Yes
Schema
Type boolean
Default value False
JSON Schema
{
"configDescription": "DESC_TRUST_ALL_CERTIFICATES",
"default": false,
"defaultConfigurable": true,
"propertyOrder": 4,
"type": "boolean"
}
15.1.12.2.5 Timeout
This timeout is used for all LDAP requests, including search requests.
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::TIMEOUT
Property is hidden Yes
Contained in every configuration by default No
Schema
Type string
Format timespan
Minimum PT1S
Default value "PT10S"
JSON Schema
{
"default": "PT10S",
"description": "DESC_TIMEOUT",
"format": "timespan",
"formatMinimum": "PT1S",
"hidden": true,
"propertyOrder": 5,
"type": "string"
}
15.1.12.2.6 Base DN
Entry point for LDAP search requests. If empty, the domain components of the host are used.
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::BASE_DN
Property is hidden No
Contained in every configuration by default No
JSON Schema
{
"allOf": [
{
"configDescription": "DESC_BASE_DN",
"default": "",
"optionMethod": {
"symbol": "ListNamingContexts"
},
"propertyOrder": 10
},
{
"anyOf": [
{
"const": "",
"type": "string"
},
{
"$ref": "tchmi:server#/definitions/ldapDistinguishedName"
}
]
}
]
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::LDAP_OPT_REFERRALS
Property is hidden Yes
Contained in every configuration by default No
Schema
Type boolean
Default value False
JSON Schema
{
"configDescription": "DESC_LDAP_OPT_REFERRALS",
"default": false,
"hidden": true,
"propertyOrder": 16,
"type": "boolean"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::CASE_SENSITIVE_ATTRIBUTE_VALUE_C
OMPARISON
Property is hidden Yes
Contained in every configuration by default No
Schema
Type boolean
Default value False
JSON Schema
{
"default": false,
"description": "DESC_CASE_SENSITIVE_ATTRIBUTE_VALUE_COMPARISON",
"hidden": true,
"propertyOrder": 17,
"type": "boolean"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::AUTHENTICATION_MECHANISM
Category HMI Authentication
Property is hidden No
Contained in every configuration by default No
Schema
Enumeration value
Simple
Digest-MD5
JSON Schema
{
"category": "CATEGORY_AUTHENTICATION",
"default": "Simple",
"description": "DESC_AUTHENTICATION_MECHANISM",
"enum": [
"Simple",
"Digest-MD5"
],
"propertyOrder": 6,
"type": "string"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::USER_FILTER
Category HMI Authentication
Property is hidden No
Contained in every configuration by default No
Schema
Enumeration value
(&({username_attribute}={input})(objectCategory=person)(objectClass=user))
(&({username_attribute}={input})(objectClass=person))
(&({username_attribute}={input})(objectClass=inetOrgPerson))
JSON Schema
{
"category": "CATEGORY_AUTHENTICATION",
"configDescription": "DESC_USER_FILTER",
"default": "(&({username_attribute}={input})(objectClass=person))",
"enum": [
"(&({username_attribute}={input})(objectCategory=person)(objectClass=user))",
"(&({username_attribute}={input})(objectClass=person))",
"(&({username_attribute}={input})(objectClass=inetOrgPerson))"
],
"propertyOrder": 11,
"type": "string"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::USERNAME_ATTRIBUTE
Category HMI Authentication
Property is hidden No
Contained in every configuration by default No
Schema
Enumeration value
userPrincipalName
sAMAccountName
uid
mail
JSON Schema
{
"category": "CATEGORY_AUTHENTICATION",
"configDescription": "DESC_USERNAME_ATTRIBUTE",
"default": "userPrincipalName",
"enum": [
"userPrincipalName",
"sAMAccountName",
"uid",
"mail"
],
"propertyOrder": 12,
"type": "string"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::IGNORE_DOMAIN_SUFFIX_DURING_LO
GIN
Category HMI Authentication
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value False
JSON Schema
{
"category": "CATEGORY_AUTHENTICATION",
"configDescription": "DESC_IGNORE_DOMAIN_SUFFIX_DURING_LOGIN",
"default": false,
"propertyOrder": 13,
"type": "boolean"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::APPEND_DOMAIN_DURING_LOGIN
Category HMI Authentication
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Default value ""
JSON Schema
{
"category": "CATEGORY_AUTHENTICATION",
"configDescription": "DESC_APPEND_DOMAIN_DURING_LOGIN",
"default": "",
"propertyOrder": 14,
"type": "string"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::USE_LDAP_SEARCH_FOR_LISTUSERS
Category HMI Authentication
Property is hidden No
Contained in every configuration by default No
Schema
Type boolean
Default value False
JSON Schema
{
"category": "CATEGORY_AUTHENTICATION",
"configDescription": "DESC_USE_LDAP_SEARCH_FOR_LISTUSERS",
"default": false,
"propertyOrder": 15,
"type": "boolean"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::BIND_USER_AUTHENTICATION_MECHA
NISM
Category LDAP Authentication
Property is hidden No
Contained in every configuration by default No
Schema
Enumeration value
None
Anonymous
Simple
Digest-MD5
Kerberos-Credential-Cache
JSON Schema
{
"category": "CATEGORY_BIND_USER",
"configDescription": "DESC_BIND_USER_AUTHENTICATION_MECHANISM",
"default": "None",
"enum": [
"None",
"Anonymous",
"Simple",
"Digest-MD5",
"Kerberos-Credential-Cache"
],
"propertyOrder": 7,
"type": "string"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::BIND_USER_DN
Category LDAP Authentication
Property is hidden No
Contained in every configuration by default No
JSON Schema
{
"allOf": [
{
"category": "CATEGORY_BIND_USER",
"configDescription": "DESC_BIND_USER_DN",
"default": "",
"propertyOrder": 8
},
{
"anyOf": [
{
"const": "",
"type": "string"
},
{
"$ref": "tchmi:server#/definitions/ldapDistinguishedName"
},
{
"$ref": "tchmi:server#/definitions/ldapAttributeValue"
}
]
}
]
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::BIND_USER_PASSWORD
Category LDAP Authentication
Property is hidden No
Contained in every configuration by default No
Schema
Type string
Format encrypted
JSON Schema
{
"category": "CATEGORY_BIND_USER",
"description": "DESC_BIND_USER_PASSWORD",
"format": "encrypted",
"propertyOrder": 9,
"type": "string"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::GROUP_MAPPINGS
Category Group mappings
Property is hidden No
Contained in every configuration by default No
Schema
Type array
Default value
[]
JSON Schema
{
"category": "CATEGORY_INTEGRATION",
"configDescription": "DESC_GROUP_MAPPINGS",
"default": [],
"items": {
"properties": {
"HMI_GROUP": {
"optionMethod": {
"symbol": "TcHmiSrv.Config::USERGROUPS"
},
"propertyOrder": 3,
"type": "string"
},
"LDAP_ATTRIBUTE_NAME": {
"default": "memberOf",
"propertyOrder": 1,
"type": "string"
},
"LDAP_ATTRIBUTE_VALUE": {
"allOf": [
{
"propertyOrder": 2
},
{
"$ref": "tchmi:server#/definitions/ldapAttributeValue"
}
]
}
},
"required": [
"LDAP_ATTRIBUTE_NAME",
"LDAP_ATTRIBUTE_VALUE",
"HMI_GROUP"
],
"type": "object"
},
"propertyOrder": 18,
"type": "array"
}
General Information
Domain TcHmiLdap
Full symbol path TcHmiLdap.Config::BLOCK_USERS
Category Group mappings
Property is hidden No
Contained in every configuration by default No
Schema
Type object
Default value
{
"LIST": [],
"USE_WHITELISTING": false
}
JSON Schema
{
"category": "CATEGORY_INTEGRATION",
"configDescription": "DESC_BLOCK_USERS",
"default": {
"LIST": [],
"USE_WHITELISTING": false
},
"properties": {
"LIST": {
"default": [],
"items": {
"properties": {
"LDAP_ATTRIBUTE_NAME": {
"default": "memberOf",
"propertyOrder": 1,
"type": "string"
},
"LDAP_ATTRIBUTE_VALUE": {
"allOf": [
{
"propertyOrder": 2
},
{
"$ref": "tchmi:server#/definitions/ldapAttributeValue"
}
]
}
},
"required": [
"LDAP_ATTRIBUTE_NAME",
"LDAP_ATTRIBUTE_VALUE"
],
"type": "object"
},
"propertyOrder": 3,
"type": "array"
},
"USE_WHITELISTING": {
"configDescription": "DECS_USE_WHITELISTING",
"default": false,
"propertyOrder": 1,
"type": "boolean"
},
"WHITELIST_ACCOUNTS_AFFECTED_BY_GROUP_MAPPINGS": {
"default": false,
"description": "DESC_WHITELIST_ACCOUNTS_AFFECTED_BY_GROUP_MAPPINGS",
"propertyOrder": 2,
"type": "boolean"
}
},
"propertyOrder": 19,
"required": [
"USE_WHITELISTING",
"WHITELIST_ACCOUNTS_AFFECTED_BY_GROUP_MAPPINGS",
"LIST"
],
"type": "object"
}
Server-to-server communication can be used in different scenarios. For example, it is possible for a server to
tap the data points of any number of subordinate servers. It is also possible for one server to pass the data
points on to another server, which in turn passes the data on to the next server.
Server-to-server communication requires a client license (TF2010 - TF2040) on the server to which another
server wants to connect. In the scenario shown above, TwinCAT HMI Server 1, TwinCAT HMI Server 2 and
TwinCAT HMI Server n require a client license if the higher-level TwinCAT HMI Server connects to them.
1. Open the configuration page of the server and navigate to the subpage TcHmiSrv → Webserver:
2. Under Remote Server, you can add a server that you want to connect to. Click on the entry + Add.
1. Domain: The domain can be chosen freely. The remote server is listed in TwinCAT HMI under this
name.
2. Remote URL: URL of the remote server. The complete address of the remote server must be speci-
fied here, including the protocol to be used. Using encrypted communication requires adding the cer-
tificate [} 1200] of the remote server.
3. Username (optional): The user name is required if authentication [} 887] is active on the remote
server. Depending on the configured symbol rights [} 897], the different users have different access
rights to the symbols. It is possible to log another user on to the remote server at runtime [} 1200].
If authentication is disabled on the remote server, the user does not need to enter anything.
4. Password (optional): Password of the user logged on to the remote server.
5. Timeout (optional): WebSocket timeout for communication with the remote server.
6. Enabled: Enables or disables the connection to the remote server.
7. Add: Adds the connection to the remote server.
1. Export the certificate of the remote server. Open the configuration page of the remote server and click
on "Export SSL Certificate".
2. Open the configuration page of the server you want to connect to the remote server.
3. Navigate under "TcHmiSrv" to the tab "Webserver" and click on the entry "Allowed certificates for re-
mote servers".
When mapping the symbols [} 77], the domain must be specified (e.g. MyRemoteServer). The symbols can
then be described and read in the Actions and Conditions editor [} 63].
The symbols can be mapped via the TwinCAT HMI Configuration window. Activating the extended view
[} 75] (button "...") displays the extended mapped symbols of the remote server.
15.3 Extensions
The TwinCAT HMI Server has a modular structure and encapsulates individual functionalities in server
extensions. This enables a flexible expandability of the server. This can be used, for example, to integrate
business logic centrally in the server and to protect know-how. Possible application scenarios are, for
example, the connection to a user-specific database or the implementation of communication protocols.
The development of server extensions is done in C#. The development takes place in a separate project
type within the Visual Studio. A corresponding project template is available for this purpose.
The execution of a server extension on the TwinCAT HMI server (TF2000) requires a license for the
extension SDK (TF2200).
The development of a server extension requires a full version [} 18] of Visual Studio.
In the following dialog you can choose which server version should be used for development:
If the project was compiled successfully, the extension can be loaded from the server. Open the context
menu in the TwinCAT HMI project under Server/Extensions:
The server tries to load the extension. The state of the loaded extension is symbolized in the project node
Server/Extensions:
If a problem has occurred during loading, the error list or log from the server can help with error analysis.
After loading the extension, the extension symbols are available in the TwinCAT HMI Config window:
15.4 Appendix
Enumerations
Enumeration Description
Return codes of the TcHmiAds extension.
HMI_ADS_CONSTA
NTS [} 1205]
Members
Reference
16 Framework
TwinCAT HMI can be extended in the client via script language. The client is implemented via web
technology (see Web Technology Reference at MDN). Besides the TwinCAT HMI API, the application
developer can also use the other browser APIs. The main API that is required is the JavaScript DOM API.
JavaScript tutorials:
• https://developer.mozilla.org/en-US/docs/Web/Tutorials
• https://developer.mozilla.org/en-US/docs/Learn
In addition to the JavaScript script language, version 1.12 makes the TypeScript programming language
available for development purposes. TypeScript code is converted to JavaScript code by the TypeScript
transpiler. TypeScript offers many advantages over JavaScript thanks to typification and the TypeScript
syntax. This enables many errors to be detected at an early stage during development, making source code
development easier and faster.
1. Action [} 1209]: An action consists of JavaScript code that can only be used within the Actions and
Conditions Editor [} 59].
Application: Execution of simple JavaScript functionalities.
Note: No TypeScript support.
2. Functions [} 1213]: A function consists of TypeScript/JavaScript code and an associated description; it
is added separately to a project.
Application: TypeScript/JavaScript execution in the Actions and Conditions Editor [} 59] and in the
Properties [} 58] window.
3. Code-behind [} 1220]: Code-behind consists of TypeScript/JavaScript code and is added to a project
as a separate file.
Application: Execution of complex TypeScript/JavaScript code.
See also
TypeScript documentation
16.1.1 Action
16.1.1.1 Create
An action is configured in the Actions and Conditions Editor [} 59] for an event. To do this, open any event
and insert a JavaScript action in the Actions and Conditions Editor using drag & drop.
1 Edit Source Code: Clicking this button opens the Embedded JavaScript Editor, where the JavaScript
statements can be programmed.
2 Wait mode: In this combo box you can select whether the JavaScript block is executed synchronously or
asynchronously [} 1211].
3 Inject context object: When selecting the checkbox a context object (ctx) [} 1212] is available within the
JavaScript code, which can be used to provide feedback about the end of an action. The context object is
evaluated via a success branch or an error branch [} 1211], which can be shown or hidden by right-clicking on
the action.
16.1.1.2 Editor
The editor for JavaScript actions offers the option to program and edit the JavaScript code. After
programming, save the JavaScript code by clicking the OK button.
The JavaScript code within the JavaScript action is interpreted when the action is executed. De-
pending on the event, the action can be executed several times. Variables and functions declared in
an action are only available within the action. Internal variables [} 85] can be read via the framework
API.
16.1.1.3 Use
JavaScript actions are typically used for simple JavaScript logics that have no major connection to other
functionalities in the project. The use of a Code-Behind file [} 1220] is recommended in cases where several
JavaScript actions are configured, since the code is available centrally in one place, i.e. not distributed
across several places.
Special statements
• Breakpoint:
debugger;
This statement sets a breakpoint at the current location and stops the program when the development tools
of the browser [} 1343] are open.
Synchronous
The execution of the action is considered finished when the last line of JavaScript source code has been
processed synchronously. If an exception occurs during execution, the error branch of the JavaScript action
is executed. If the execution completed without errors, the success branch of the JavaScript action is
executed.
The Wait for completion option has no effect for a synchronous logic. "Parallel" execution of synchronous
logic, even in parts, is not possible.
Asynchronous
The execution of the action is considered completed if this has been signaled using the corresponding
functions of a context object. If Inject context object is checked, an object with the name "ctx [} 1212]" is
inserted into the context of the JavaScript block. This object contains functions for communicating the
execution result.
If the success function is called, the success branch of the JavaScript action is executed. If the error
function is called, the error branch of the JavaScript action is executed. The error branch of the JavaScript
action is also executed if an exception occurs during execution.
With asynchronous logic, the Wait for completion option can be used to control whether the execution
result is to be awaited when the subsequent actions are executed or whether they are to be executed in
parallel with the JavaScript action.
16.1.1.4.1 Context
An asynchronous JavaScript [} 1209] trigger action must notify the context object (ctx) of success or failure of
the execution. The context object has appropriate functions for this.
success
error
16.1.2 Function
16.1.2.1 Create
Create a new function via the project node of the TwinCAT HMI project.
A function can be created based on TypeScript or JavaScript. Both have the same technical options and are
very similar in terms of programming. Due to the better Visual Studio programming support offered by Visual
Studio, TypeScript should be selected for new functions. Enter a name for the file.
A function consists of a TypeScript/JavaScript file and an associated JSON file, which defines engineering
properties. Double-click the JSON file in the Solution Explorer to configure [} 1214] the function and its
parameters.
16.1.2.2 Editor
The function and parameter editor is divided into a function and parameter area.
Function area:
1 Display name: Name of the function used [} 1216] in the Actions and Conditions Editor or in the Properties
window.
2 Description: Description of the function that is displayed as a tooltip during mouseover in the engineering.
3 Return type: Return value of the function that is transferred to the calling point in the engineering.
4 Context: The context defines whether the function synchronous (None) or asynchronous (Asynchronous)
[} 1211] is executed. Asynchronous automatically adds a context object [} 1220] as a parameter value to the
function.
5 Internal name: Internal name of the function used in the JavaScript file.
6 Category: The category determines under which category the function is displayed in the Actions and
Conditions Editor.
7 Return value description: Description of the return value that is displayed as a tooltip during mouseover
in the engineering.
Parameter area:
8 Display name: Name of the parameter used [} 1216] in the Actions and Conditions Editor or in the
Properties window.
9 Internal name: Internal name of the parameter used in the JavaScript file.
10 Description: Description of the parameter that is displayed as a tooltip during mouseover in the
engineering.
12 Default value: Default value of the parameter that is used if no parameter is transferred.
13 Required: Indicates whether the parameter is required or can be transferred optionally. If the parameter
is required and is not transferred, an error message is issued in the browser console.
14 Bindable: Bindable indicates whether the parameter can be bound to a symbol via the Select Binding
Source window [} 103]. The following options are available:
• No: The parameter cannot be bound to a symbol.
• Yes, pass value: The parameter can be bound to a symbol. During binding, the value of the symbol is
passed to the function (e.g. "20" for an integer).
• Yes, pass symbol reference: The parameter can be bound to a symbol. During binding, the reference
to the symbol is passed to the function. The symbol can be read (.read()) and written (.write()) via the
framework API "TcHmi.Symbol".
15 Rest: Rest indicates whether the last parameter is a rest parameter (var nNumber,...) and can therefore
contain a variable list of arguments (cf. va_arg / va_list in C / C++).
Changes (e.g. newly added parameters) in the function and parameter editor can be automatically
applied to the corresponding JavaScript file. The automatic application can be confirmed or rejected
via a dialog.
16.1.2.3 Use
Functions allow the execution of JavaScript code that can be linked directly from the Properties window
[} 58] in the engineering component or used within the Actions and Conditions Editor [} 59]. This makes it
possible to pass parameters to the function via the engineering.
Several functions are already available [} 68] in the TwinCAT HMI engineering. To obtain an over-
view of the functions, open the "Functions" folder in the Actions and Conditions Editor.
In addition, the Control Properties functions can be used directly in the Properties window [} 58]. They can
be found via IntelliSense.
16.1.2.4 Structure
A function is implemented within the TcHmi namespace. Implementation outside the namespace is not
possible, since otherwise the function would not be available in the TwinCAT HMI framework. The function is
registered in the framework via the framework API function "registerFunctionEx" (from version 1.12) or
"registerFunction" so that it is available at runtime.
The following example implements the conversion of a temperature from Fahrenheit to Celsius and returns
the calling point.
References to the framework and jQuery within the function's JavaScript file are created to enhance
IntelliSense support. This is not necessary with TypeScript.
// TcHmi Version 1.12
/// <reference path="../Packages/Beckhoff.TwinCAT.HMI.Framework.12.742.1/runtimes/native1.12-tchmi/
TcHmi.d.ts" />
16.1.2.4.1 Context
An asynchronous [} 1214] TypeScript/JavaScript function must report execution success or error to the
context object (ctx). The context object has appropriate functions for this.
success
error
16.1.3 Code-behind
16.1.3.1 Create
A code-behind file can be added at the project level or in a project folder. Any number of code-behind files
can be added to the project.
A Code-Behind file can be created based on TypeScript or JavaScript. Both have the same technical options
and are very similar in terms of programming. Due to the better Visual Studio programming support offered
by Visual Studio, TypeScript should be selected for new functions.
Right-click the target node and click Add New Item. Select a code-behind file. The Code-Behind file can be
opened by double-clicking in the source code editor.
If you have added several code-behind files to the project, it is possible to specify the order in the build
process and thus during inclusion within the HTML file of the HMI. This is necessary if dependencies exist
within the individual files.
Right-click on the project node of the HMI project and select CodeBehind Sort Order and Theme
Assignment.
Within the editor, the sort order can be defined under the JavaScript Files tab. The order can be changed
using the Up and Down buttons.
Note: The browsers only support JavaScript files. The generated JavaScript file is therefore displayed in this
window.
16.1.3.2 Use
A code-behind file can be used for JavaScript functionalities that are to apply globally to the entire project.
Control events can be registered independently of the HMI side, based on the control ID. Therefore, a code-
behind file is particularly suitable for mapping complex functionalities with JavaScript that cannot be
performed using the graphical engineering.
Typical applications
• Summary of functionalities: Identical event configurations can be combined in a code-behind file and
stored in functions to avoid redundancies (see Action Templates [} 69] in the Actions and Conditions
Editor).
• Global variables: Saving of data used in multiple events to a global variable (see internal symbols
[} 85] in the Configuration window).
• Evaluation of complex objects (e.g. JSON): Processing, validating and evaluating objects.
• Using the framework API: Access to the framework API functions, which cannot be executed via the
graphical engineering.
• Dynamic elements: Adding or removing dynamic elements at runtime (e.g. dynamically generate
controls at runtime, see ControlFactory).
• Responsive design: Querying the current browser width, switching of grid configurations and loading of
different pages depending on the browser width.
• Evaluating URL parameters: Loading different views depending on the browser URL.
• Disabling client interactions: Disabling interactions with other clients via the session ID of the browser.
16.1.3.3 Structure
A newly added code-behind file contains pre-configured JavaScript code.
The commentary lines (triple slash directives) are required for enhanced support of IntelliSenese in
JavaScript:
// TcHmi Version 1.12
/// <reference path="../Packages/Beckhoff.TwinCAT.HMI.Framework.12.742.1/runtimes/native1.12-tchmi/
TcHmi.d.ts" />
Engineering\Infrastructure\TcHmiFramework\Latest\Lib\jquery\jquery.js" />
/// <reference path="C:\TwinCAT\Functions\TE2000-HMI-
Engineering\Infrastructure\TcHmiFramework\Latest\TcHmi.js" />
The JavaScript code that is implemented within a code-behind file must be implemented within the TcHmi
namespace.
(function ( /** @type {globalThis.TcHmi} */ TcHmi) {
// code
})(TcHmi);
In a new code-behind file the global onInitialized event is registered by the framework as an example.
Here you can place actions that are to be executed after the initialization of the framework.
// If you want to unregister an event outside the event code you need to use the return value of the
method register()
var destroyOnInitialized = TcHmi.EventProvider.register('onInitialized', function (e, data) {
// This event will be raised only once, so we can free resources.
// It's best practice to use destroy function of the event object within the callback function to
avoid conflicts.
e.destroy();
// ----------------------
// Place your code here!
// ----------------------
});
Within the code-behind file any events can be registered and deregistered. The registration of TwinCAT HMI
framework events is realized via the EventProvider framework API. Registration via the EventProvider
registers a callback to the event and returns a function for deregistering the event. The function for
deregistering the event should be called to release system resources when the event is no longer needed
(for example, Event Listener for a MouseOver event).
destroyOnInitialized();
Control events are registered using the Control ID (e.g. TcHmiButton.onPressed). A control event can be
registered in several places. If an event is registered in the code-behind file, it is not displayed in the
Designer under Events. It is therefore advisable to either register an event in a code-behind file or to
configure it in the Designer for enhanced clarity.
16.2 Extensions
16.2.1.1 Controls
16.2.1.1.1 Introduction
Framework controls are user-specific controls that are not created with the graphical WYSIWYG editor [} 34].
Framework controls are used if the desired behavior cannot be mapped with the standard controls or a user
control. Unlike a Code Behind file [} 1220], a framework control can be used independently of the HMI
project, so that the source code can be reused.
Technology
Developers are no longer bound to the TwinCAT HMI controls and can use all the elements and
functionalities they are already familiar with from web development within a framework control. The standard
TwinCAT HMI controls are implemented on the same basis as a framework control. It is also possible to
reuse the TwinCAT HMI controls in the framework control or to add user-specific properties.
Application scenarios
Framework controls can map customer-specific and application-specific requirements. The following use
cases can be implemented with a framework control:
• Implementation of complex JavaScript logic
• Reusing HTML, JS and CSS in a control
• Integration of external libraries and realization of own libraries
• Dynamic elements: Adding and removing HTML elements and controls at runtime
• Developing responsive controls
• Realizing and integrating 3D models
Use
The framework controls can be integrated directly as references in a TwinCAT HMI project if both projects
are in the same solution. Furthermore, it is possible to export the framework control as a package [} 957] and
install it in different HMI projects. In this way, it is possible to implement application-specific control libraries.
Within the HMI project, a framework control is used like a standard TwinCAT HMI control.
3. Add a new HMI project to the existing solution by right-clicking the Add new project solution. Select an
HMI project.
4. Right-click on the "Framework" node in the HMI project and select "Manage Extensions...".
5. Select Framework Control in the TwinCAT HMI Extension Management window and confirm the
dialog with OK.
6. If you have opened a View/Content/UserControl file, you have to reload the page. This is illustrated by a
note. Click Reload.
7. Use drag & drop to add the framework control to an open View/Content/UserControl file.
ð You can now use the framework control like a normal control.
All changes in the source code of the framework control require a project build (see step 2) to en-
sure that the changes are adopted in the Engineering.
1. References: This project node is not required and is automatically provided by the project type in Vis-
ual Studio.
2. Icons: This folder contains all icons relating to the control.
3. Icon: The .png elements are control icons in different sizes.
4. Schema [} 1259]: This folder contains JSON schema files that are required for the control. Additional
JSON schema files for project-specific data types can be added to this folder.
5. ControlDescription.Schema.json: Standard schema [} 1230] describing Description.json [} 1229].
6. Themes [} 1247]: This folder contains all themes relating to the control. New themes can be added to
this folder.
7. Base: This folder contains the base theme of the control. Additional theme-based files can be added
to this folder.
8. Image: This folder serves as a container for images that are assigned to the base theme.
9. Style.css [} 1247]: This stylesheet file contains the properties for the base theme.
10. Description.json [} 1229]: This file contains all Engineering interfaces for the TwinCAT HMI
11. Mainfest.json [} 1269]: This file describes control data required for creating a TwinCAT HMI package.
12. Source.js [} 1250]: This file contains the JavaScript logic required for the control.
13. Style.css [} 1247]: This file contains all style properties that are to apply to the control regardless of the
theme.
14. Template.html [} 1246]: This file contains the static HTML framework of the control and is included in
the HMI as HTML code for the control during subsequent instantiation on the HMI.
To program framework controls, a full version of Visual Studio is required for editing the HTML,
CSS, and JavaScript code. The Visual Studio shell is not sufficient.
16.2.1.1.4 Properties
Description.json
This section describes the structure of the description file Description.json.
Any changes in Description.json must be followed by a project build (see First Steps [} 1225]).
Introduction
TwinCAT HMI Engineering reads all properties of the control from the Description.json file. The properties
allow you to transfer data to the control and vice versa. In TwinCAT HMI Engineering, the control can be
configured via the Properties window [} 58] or via the Actions and Conditions editor. The developer can
define additional attributes, besides the standard attributes of each framework control.
Description.json must correspond to a given JSON schema. The schema is located in the framework control
project under Schema/Control/Description.json. The schema must not be changed. It is used to describe the
syntax in Description.json.
Properties
Type: Specifies the data type of the property.
Required: Specifies whether the property is required for the framework control (yes) or is optional (no).
$schema
Type: String (relative path)
Required: No
"$schema": "./Schema/ControlDescription.Schema.json"
This property references the JSON schema that describes the structure of Description.json. The schema is
located in the framework control project and does not have to be changed. Including the JSON schema
enables Intellisense in Visual Studio for each property.
name
Type: String
Required: Yes
"name": "framework-control-js1"
This property is the name of the framework control, which is automatically generated based on the project
name. The name is added to the control as a CSS class and can be used within the CSS files [} 1247] in the
framework control project to describe the styles.
classNamespace
Type: String
Required: Yes
"classNamespace": "TcHmi.Controls.Custom"
This property is the namespace in which the control is added to the controls. Framework controls are added
to the "Custom" namespace by default. The namespace is also used in Source.js.
className
Type: String
Required: Yes
"className": "FrameworkControlJs1"
This property is the internal name of the JavaScript object that defines the control. This name is used in
Source.js.
displayName
Type: String
Required: Yes
"displayName": "FrameworkControlJs1"
This property is the name of the control that is displayed as the control name in the Engineering.
version
Type: JSON object
Required: Yes
"version": {
"full": "1.0.0.0",
"major": 1,
"minor": 0,
"revision": 0,
"build": 0
}
This property is the version number of the framework control that is used for versioning a framework control.
The version number is subdivided into the major release number, minor release number, revision number
and build number.
For creating a package [} 957], the version number must match the version number in Manifest.json [} 1269].
visible
Type: Boolean
Required: Yes
"visible": true
This property makes the control visible or hides it in the toolbox in the Engineering. By default, a control is
always displayed in the toolbox.
themeable
Type: Enum string
Required: No
"themeable": "Standard"
This property determines whether the control is displayed in the theme editor [} 936] within in the TwinCAT
HMI Engineering.
Permissible values:
• Standard: The control is displayed in the theme editor.
base
Type: String
Required: Yes
"base": "tchmi-control"
This property determines whether the control inherits the properties of another control. By default, a
framework control inherits all properties of Description.json of the base control tchmi-control, which
defines a base framework for all TwinCAT HMI controls. The control can be made to inherit from other
controls, such as a button, if a particular control is to be extended. The control name to be specified here
corresponds to the control type or control name defined in Description.json [} 1230].
Validity
This property must refer to a valid control and must not have the value null, otherwise the control
can no longer be used in the Engineering.
uses
Type: Array of strings
Required: No
"uses": []
This property defines a list of controls that are used in this control (static or dynamic at runtime). This
property references the JavaScript and stylesheet files of the controls used in this control. By default, no
other controls are used. The base control [} 1232] does not have to be referenced again.
If other controls are used in this control, the control type or name of the control [} 1230] defined in
Description.json must be specified.
The following listing shows an example of a framework control that uses the TcHmiButton and a user-specific
control:
"uses": [
"tchmi-button",
"tchmi-my-framework-control"
]
For more information about using controls in a framework control, see Examples.
description
Type: String
Required: Yes
"description": "This description text will be used as a Tooltip in Visual Studio."
This property is the description of the control and is displayed as a tooltip when the mouse is moved over the
control in the toolbox.
defaultDesignerEvent
Type: String
Required: No
"defaultDesignerEvent": ""
This property determines which event is to be configured in the Actions and Conditions Editor when the
control is double-clicked. By default (no entry or empty entry), no event is executed on double-clicking.
All standard and custom events defined in Description.json can be used here. The following listing shows an
example of a custom event:
"defaultDesignerEvent": ".onMyCustomEvent"
properties
Type: JSON object
Required: Yes
"properties": {
"containerControl": false,
"geometry": {
"width": 150,
"height": 150
}
}
This property defines the engineering properties required for each framework control and describes general
control properties.
• containerControl {Boolean}, not required: Specifies whether the control is a container control and
can include additional controls using drag and drop. In this case, the control must also be derived
[} 1232] (directly or indirectly) from TcHmiContainerControl.
• geometry {JSON object}: Defines the default geometry properties (width and height) of the control,
which are set after dropping the control from the toolbox.
icons
Type: Array of JSON objects
Required: Yes
"icons": [
{
"name": "Icons/16x16.png",
"width": 16,
"height": 16
},
{
"name": "Icons/24x24.png",
"width": 24,
"height": 24
},
{
"name": "Icons/32x32.png",
"width": 32,
"height": 32
},
{
"name": "Icons/64x64.png",
"width": 64,
"height": 64
}
]
This property defines the icon of the control in different dimensions. The array contains JSON objects, where
each object corresponds to a control icon in a different resolution. The control icon is used to display the
control in the toolbox of the Engineering and the Actions and Conditions Editor.
The name is specified as a relative project path. The dimensions (width/height) are specified in pixels.
dependencyFiles
Type: Array of JSON objects
Required: Yes
"dependencyFiles": [
{
"name": "Source.js",
"type": "JavaScript",
"description": ""
},
{
"name": "Style.css",
"type": "Stylesheet",
"description": "Theme independent style"
}
]
This property contains all files of the framework control that must be included in the HTML file of the HMI. By
default, the Source.js and Style.css files are included. If additional JavaScript or stylesheet files are included
in the control, they must be referenced under "dependencyFiles".
Caution: Theme-dependent stylesheet files are not included under "dependencyFiles", but under "themes
[} 1234]".
The array contains JSON objects that contain information about the file:
• name {string}: file name and file extension with the relative project path to the file.
• type {string}: File type (JavaScript or stylesheet).
• description {string}: Optional file description.
themes
Type: JSON object of JSON objects
Required: No
"themes": {
"Base": {
"resources": [
{
"name": "Themes/Base/Style.css",
"type": "Stylesheet",
"description": ""
}
]
}
}
This property contains all themes that are included in the control. By default, the base theme is included with
a stylesheet file. A theme is an object containing the array "resources". The array "resources" contains
all the files that are allocated to a theme.
A "resource" object contains the same properties as a "dependencyFile" object [} 1234], with other allowed
values for "type":
• name {string}: file name and file extension with the relative project path to the file.
• type {string}: file type (Stylesheet or ThemedValues, see Theming [} 934]).
• description {string}: Optional file description.
Note: Images and fonts etc. are not included under the theme resources, but referenced via the stylesheet
file (see Theming [} 934]).
The following listing illustrates the inclusion of another theme with associated files:
"themes": {
"Base": {
"resources": [
{
"name": "Themes/Base/Style.css",
"type": "Stylesheet",
"description": ""
}
]
},
"Custom": {
"resources": [
{
"name": "Themes/Custom/Style.css",
"type": "Stylesheet",
"description": ""
},
{
"name": "Themes/Custom/MyTheme.theme",
"type": "ThemedValues"
"description": "This is theme file created by the theme editor."
}
]
}
}
attributes
Type: Array of JSON objects (attributes)
Required: Yes
"attributes": [
{
"name": "data-tchmi-value",
"propertyName": "Value",
"propertySetterName": "setValue",
"propertyGetterName": "getValue",
"displayName": "Value",
"visible": true,
"themeable": "Standard",
"displayPriority": 10,
"type": "tchmi:general#/definitions/Boolean",
"category": "Value",
"description": "",
"readOnly": false,
"bindable": true,
"heritable": true,
"defaultValue": false,
"defaultValueInternal": false
}
]
The attributes define the data interfaces to the TwinCAT HMI Engineering. The attributes of the control are
displayed in the Properties window of the Engineering under "ShowProperties". Any number of attributes can
be defined in a control.
By default, the attribute array contains the type attribute that is required for each control and must not be
removed. This attribute specifies that the control is of type tchmi-framework-control-js1:
{
"name": "data-tchmi-type",
"displayName": "",
"propertyName": "type",
"propertySetterName": "",
"propertyGetterName": "getType",
"visible": false,
"type": "tchmi:framework#/definitions/ControlType",
"category": "None",
"description": "Type of the control.",
"requiredOnCompile": true,
"readOnly": true,
"bindable": false,
"heritable": false,
"defaultValue": "framework-control-js1",
"defaultValueInternal": null
}
name
Type: String
Required: Yes
"name": "data-tchmi-value"
Name of the attribute. The name is written into the HMTL code of the control as a "data-*" attribute.
Therefore, the "data-" prefix is mandatory. The subsequent prefix "tchmi-" before the attribute is
recommended for standardizing attributes, but it is not obligatory. An attribute name may only be used once
for each control, otherwise unambiguous assignment cannot be guaranteed.
propertyName
Type: String
Required: Yes
"propertyName": "Value"
Internal attribute name of the control. The internal attribute name is formed from the attribute name without
prefix in Pascal case.
Example:
"name": "data-tchmi-my-custom-value"
becomes: „MyCustomValue“.
For better mapping between JavaScript variables and attributes, it is recommended to name the attribute
variable in the JavaScript code of Source.js according to the "propertyName".
propertySetterName
Type: String
Required: Yes
"propertySetterName": "setValue"
This property creates the reference to the setter function in Source.js. The setter function allows a new value
to be set. For the reference between Description.json and Source.js, the setter function must have the same
name as the"propertySetterName". If the names in Description.json and Source.js are different, an error
message appears in the browser console and the setter function cannot be used.
The recommended notation for the setter name is the "propertyName" plus the prefix "set" in Camel case.
If an attribute is read only [} 1239], the empty string should be entered as propertySetterName.
propertyGetterName
Type: String
Required: Yes
"propertyGetterName": "getValue"
This property creates the reference to the getter function in Source.js. The getter function returns the
attribute value when called. For the reference between Description.json and Source.js, the getter function
must have the same name as the"propertyGetterName". If the names in Description.json and Source.js
are different, an error message appears in the browser console and the getter function cannot be used.
The recommended notation for the getter name is the "propertyName" plus the prefix "get" in Camel case.
displayName
Type: String
Required: Yes
"displayName": "Value"
The property is the name of the attribute displayed in the Engineering Properties window for the attribute.
The "displayName" can be selected as desired, but it is recommended that it should be based on the
"propertyName".
refTo
Type: String
Required: No
"refTo": "basePropertyName"
This is used to write the physical unit (pixel or percent) in the development environment next to the numeric
value.
searchTerms
Type: Array of strings
Required: No
"searchTerms": [
"Shortcut1",
"ShortCut2",
"Shortcut3"
]
This property defines a list of search terms for Engineering to optimize the search function within the Actions
and Conditions Editor and the Properties window. This makes it possible to find the attribute using terms
other than the attribute name.
visible
Type: Boolean
Required: No
"visible": true
This property determines whether the attribute is to be displayed in the Engineering. If the property is set to
"false", the attribute is not available in the Engineering. By default, all attributes are displayed in the
Engineering.
themeable
Type: Enum string
Required: No
"themeable": "Standard"
This property determines whether the attribute is displayed in the theme editor in the Engineering.
Permissible values:
• Standard: The attribute is displayed in the theme editor.
type
Type: String (TcHmi data type)
Required: Yes
"type": "tchmi:general#/definitions/Boolean"
This property indicates the data types of the attribute. All data types of the TwinCAT HMI [} 87] are available.
Further user-specific data types can be defined (see dataTypes [} 1244]). The data type determines the
display of the attribute in the Engineering Properties window (e.g. checkbox for a Boolean value).
displayPriority
Type: Number
Required: No
"displayPriority": 10
This property determines the priority with which the attribute is displayed within the category in the
Engineering Properties window. User-specific sorting of attributes is possible based on the priority. Attributes
with the same priority are displayed according to the order in which they are defined. The prioritization of the
attribute categories is set via the property "attributCategories [} 1240]".
• Values less than 10 have high priority and are displayed higher up in the category, according to the
value.
• Values that equal 10 have main attributes like top, left etc.
• Values greater than 10 have low priority and are displayed lower down in the category, according to
the value.
• Values greater than 50 are collapsed by default and have to be expanded using the arrow.
allowedFunctions
Type: JSON object
Required: No
"allowedFunctions": {
"returnType": "tchmi:general#/definitions/String",
"requiredArguments": [
{
"type": "tchmi:general#/definitions/Number"
}
],
"requiredWaitMode": "Synchronous"
}
These properties can only be used for "Function" type attributes. This property determines which functions
are allowed for the attribute. This means that when configuring the attribute, only those functions are
displayed that meet the defined criteria.
Further parameters are possible and can be specified per instance in the engineering.
Attributes:
• returnType {string}: Determines which TwinCAT HMI data type may be returned by the function.
• requiredArguments {array of JSON objects}: Determines which TwinCAT HMI data types the
functions may have as parameter values. The parameters mentioned here are set by the control.
For example, one the Beckhoff controls that uses this property is LinearGauge [} 400], namely for the
ValueFormat [} 419] in order to restrict the functions that can format the values of the gauge.
category
Type: String
Required: No
"category": "Value"
This property indicates the category to which the attribute is assigned in the Engineering Properties window.
New category names can be assigned or standard category names (e.g. Common) can be used. A new
category name does not have to exist under the Attribute categories [} 1240], since the category is created
independently of the attribute categories. The attribute categories are used to prioritize different attribute
categories.
description
Type: String
Required: No
"description": "This description text will be used as a Tooltip in Visual Studio."
This property contains the description of the attribute, which is displayed as a tooltip when the mouse is
moved over the attribute.
requiredOnCompile
Type: Boolean
Required: No
"requiredOnCompile": false
This property determines whether the attribute of the control is required when the HMI is compiled. If the
attribute is required for the control and the property is not set, an error message is issued and the control is
not valid. This property is normally not required for attributes of a framework control. An example for
"requiredOnCompile" is id and data-tchmi-type of a control.
readOnly
Type: Boolean
Required: No
"readOnly": false
This property indicates whether the Engineering has write access to the attribute or only read access. By
default, write access to an attribute is available. If readOnly is set to true, the attribute is no longer
displayed in the Engineering Properties window, but it can still be used via the Actions and Conditions Editor.
For read only attributes, the propertySetterName [} 1236] is not required and can be replaced by an
empty string.
bindable
Type: Boolean
Required: No
"bindable": true
This property indicates whether a data Binding [} 103] to the attribute can be created in the Engineering. By
default, the property is true.
If the property is set to false, it is not possible to link symbols to the attribute. Nevertheless, this attribute
can be used and read at another location.
heritable
Type: Boolean
Required: No
"heritable": true
This property indicates whether the attribute can be passed on to other control. By default, the property is
true. If the property is set to false, it is not available in the derived control classes.
defaultValue
Type: Data type of the attribute
Required: No
"defaultValue": false
This property indicates the default value for the attribute that is used in the Engineering Properties window
when instantiating the control and written to the HTML code.
defaultValueInternal
Type: Data type of the attribute
Required: No
"defaultValueInternal": false
This property indicates the internal default value for the attribute that can be used in Source.js. The internal
default value may differ from the normal default value [} 1240].
attributeCategories
Type: Array of JSON objects
Required: No
"attributeCategories": [
{
"name": "Value",
"displayPriority": 500,
"defaultCollapsed": false,
"description": ""
}
]
The property is used to prioritize new attribute categories that are assigned under Attributes [} 1239].
Prioritization is used to determine the displayed order of the categories in the Engineering Properties
window. The attribute categories are described within a JSON object.
◦ Values less than 10 mean high priority and are displayed at the top of the Properties window (e.g.
colors).
◦ Values less than 500 have standard categories (e.g. Common =100, Layout = 200, Border = 300,
Background Image = 400).
◦ Values greater than 500 should be assigned user-specific categories so that they are listed below
the standard categories.
◦ Values greater than 800 have low priority and are rarely configured.
• defaultCollapsed {Boolean}, not required: This property determines whether the category is
collapsed by default (true) or expanded (false).
• description {String}, not required: Optional description of the attribute category that is displayed as
a tooltip for the mouseover event in the Engineering.
themedResources
Type: Array of JSON objects
Required: No
"themedResources": [
{
"name": "MyCustomThemedResource",
"displayName": "MyCustomThemedResource",
"description": "This is a custom themed resource. Look at theming of framework controls.",
"type": "tchmi:framework#/definitions/MyThemedDefinition"
}
]
This property contains all user-specific theme definitions that are not defined as attributes in the Engineering
Properties window and can only be changed using the theme editor. An example of a "ThemedResource"
are images within a control that cannot be exchanged via the Properties window (e.g. KnobConfigHorizontal
and KnobConfigVertical for the LinearGauge [} 400]). A control developer can access these resources via the
theme API.
functions
Type: Array of JSON objects
Required: No
"functions": [
{
"name": "customFunction",
"displayName": "customFunction",
"visible": true,
"description": "This is a sample for a function that can be called.",
"category": "Actions",
"params": [],
"type": null,
"heritable": true,
"searchTerms": []
}
]
This property defines functions of the control that are independent of attributes. The functions can optionally
have parameter values or a return value. Each function must have the same name in Source.js, otherwise an
error message appears in the browser console and the function is not executed.
The following figure shows an example of two framework control functions in the Engineering, both of which
have no return value and contain an optional parameter value function.
params
Type: JSON object
Required: No
"params": [
{
"name": "functionParameter1",
"displayName": "functionParameter1",
"description": "This is a sample for a function parameter.",
"type": "tchmi:general#/definitions/Number",
"visible": true
},
{
"name": "functionParameter2",
"displayName": "functionParameter2",
"description": "This is a sample for a function parameter.",
"type": "tchmi:general#/definitions/Boolean",
"bindable": false
"visible": true
}
]
This property defines the optional parameters values of a function. The parameter values can be transferred
via Engineering.
events
Type: Array of JSON objects
Required: No
"events": [
{
"name": ".onMyCustomEvent",
"displayName": ".onMyCustomEvent",
"visible": true,
"displayPriority": 30,
"category": "Control",
"description": "This is a sample for a framework control event.",
"heritable": true
"allowsPreventDefault": false
}
]
This property defines events that can be configured through the Engineering and are triggered in this
framework control. An event is used to notify the Engineering that a specific event has occurred in the
control. The HMI developer can respond to this event accordingly in the Engineering. Triggering of an event
is implemented in Source.js.
• allowsPreventDefault {Boolean}, not required: This property specifies that a user can explicitly
select preventDefault. See also Events [} 1259]
dataTypes
Type: Array of JSON objects
Required: No
"dataTypes": [
{
"name": "tchmi:framework#/definitions/CustomDatatype",
"schema": "Schema/TypeDefinitions/CustomDatatype.Schema.json"
}
]
This property contains a list of all user-specific data types defined in the control. Developer can define their
own data types in a JSON schema. The definition usually takes place under "Schema\TypeDefinitions
[} 1228]". In order for the Engineering to know and be able to process the user-specific data types, they must
be referenced in Description.json.
access
Type: Array of JSON objects
Required: No
"access": [
{
"name": "myCustomRight",
"displayName": "myCustomRight",
"description": "This is a sample for access rights in the framework control.",
"visible": true,
"defaultValueInternal": null
}
]
This property contains a list of user-specific access rights that can be configured via the Engineering. Access
rights restrict user groups in their activities (see authorization system [} 893]). A user-specific access right
must be evaluated in Source.js with corresponding user-specific logic [} 1259].
Various user groups are assigned to an access right via the Engineering, which are structured according to
the following schema: tchmi:framework#/definitions/ControlAccessRight
This schema defines the type of access (Allow, Deny, Inherit) the respective user group has to the
access right.
In the Engineering, the access right is displayed in the Properties window as follows (for two different user
groups):
Template.html
Like every control in the TwinCAT HMI, a framework control is based on HTML code. As soon as a
framework control is instantiated in the Engineering of the TwinCAT HMI, an HTML div element is
automatically created for the control. The developer of the framework control can define additional HTML
code for the control within the control div element.
HTML code
The definition of the HTML code is implemented in the "Template.html" file. The use of this file is optional.
The Template.html file is only used, if this is referenced in the Source.js of the Control [} 1251]. The
Template.html file defines the base structure of a framework control.
<div class="framework-control-js1-template tchmi-box">
<!--Place your code here-->
</div>
The HTML code defined within this file is automatically inserted in within the control div element (if the file is
used) in the Engineering. The code can be viewed in the browser during debugging, for example.
<div id="TcHmiFrameworkControlJs1" data-tchmi-type="framework-control-js1" data-tchmi-height="150"
data-tchmi-height-unit="px" data-tchmi-left="137" data-tchmi-left-unit="px" data-tchmi-top="140"
data-tchmi-top-unit="px" data-tchmi-value="True" data-tchmi-width="150" data-tchmi-width-unit="px"
class="tchmi-box tchmi-control framework-control-js1" title="" style="left: 137px; top: 140px;
width: 150px; height: 150px; z-index: 0; border-width: 0px;">
<div class="framework-control-js1-template tchmi-box">
<!--Place your code here-->
</div>
</div>
Within the Template.html file any number of HTML elements can be defined. All standard HTML elements
are available to the developer. In addition to the standard HTML elements, TwinCAT HMI controls can also
be used in the Template.html file. The user-specific HTML code should be placed within the template div
("Place your code here").
CSS classes
Within the elements in the Template.html file, CSS classes [} 1247] can be assigned, which are described via
cascading style sheets files, either detached from the theme or depending on the theme. By default, the
template class in the Style.css file is used at project level.
The HTML elements defined within the Template.html file can be further processed in the Source.js file
[} 1250]. The elements can be changed during runtime or used as placeholders for dynamically created
elements, for example. Processing of the HMTL elements in the Source.js file is optional. Static use within
the Template.html file is also possible.
If the HMTL elements are to be processed further in the Source.js file, references to the HTML elements
must be created there. References to the Template.html file are created within the PrevInit function in the
Source.js file.
/** Handle template elements. Should be done before call to __previnit of super class. */
this.__elementTemplateRoot = this.getElement().find('.framework-control-js1-template');
The listing shows the access to the template div within Template.html. A search for the template div is
initiated using the ".find()" JQuery function within the main JQuery object of the control. The reference to the
JQuery object of the control can be reached via ".getElement()". If additional elements are placed within the
template div, they can also be found using the ".find()" JQuery function. For performance reasons, we
recommend to avoid using the outer JQuery object for the search in cases with many nested elements, but
to use the inner elements that are already referenced instead.
Example:
<div class="framework-control-js1-template tchmi-box">
<div class="framework-control-js1-inner-div">
<div class="framework-control-js1-inner-div-my-element">
</div>
</div>
</div>
Style.css
Within a framework control, the appearance of individual elements is described using cascading style sheets.
The default design of the control is defined in the Style.css file at the project level and in the Style.css file,
the base theme of the control. In addition to the standard design, further themes can be defined for the
framework control. The appearance of a framework control can be changed at four different levels [} 945]
according to the theme system of the TwinCAT HMI.
Theme levels
The appearance of a framework control can be described at different levels of the theme system [} 945].
Control themes [} 940] can be defined at level 4 of the theme system. Control themes allow individual
attributes of the framework control to be overwritten. A control theme is defined within a theme file and can
be created using the theme editor in Engineering or directly as JSON code. The theme file must be assigned
to a specific theme within the project:
The theme file must then be referenced as "ThemedValues" under "themes [} 1234]" in the Description.json
file.
At level 5 of the theme system, it is possible to set the properties of the attribute via DefaultValueInternal
[} 1240]. DefaultValueInternal can be set in the Description.json file of the framework control.
Cascading style sheet files can be added to a theme at level 8 of the theme system. Within the CSS file any
element properties can be defined.
The CSS file "Stylesheet" must then be referenced under "themes [} 1234]" in the Description.json file of the
framework control.
At level 9 of the theme system, Cascading Style Sheet files can be added independently of a theme at
project level in the control. By default, each framework control project contains a Style.css file at project
level. Within this file, element properties are defined that are to apply independently of a theme (e.g. sizes of
a div).
All CSS files at the project level in the control must be referenced under dependencyFiles [} 1234] in the
Description.json file of the framework control.
Permitted selectors
The following CSS selectors can be used conditionally within a CSS file of a framework control:
• Type selectors
• Attribute selectors
• Class selectors
With class selectors, new CSS classes are defined for a framework control, which means that CSS
styles are not overwritten outside the framework control. If type or attribute selectors are to be used,
you must ensure that they are only used for the class of the framework control and do not overwrite
any styles outside the framework control (descendant selector):
.tchmi-framework-control-js2 a {
color: red;
}
The following CSS selectors should not be used within a CSS file of a framework control:
• ID selectors: Due to multiple instantiation, you cannot assign fixed IDs within a framework control.
• Universal selector: A framework control should not overwrite any styles outside the control during
instantiation.
CSS classes can be used in the Template.html file, or they can be added dynamically at runtime within the
Source.js file.
.tchmi-framework-control-js1-template
{
width: 100%;
height: 100%;
}
Within the Template.html file, a CSS class is assigned via the HTML attribute "class":
<div class="tchmi-framework-control-js1-template tchmi-box">
</div>
The class "tchmi-box" sets CSS properties to facilitate element positioning and can be used with
all positioned HTML elements.
The dynamic use of a CSS class within Source.js can be realized via the jQuery function ".addClass()", for
example:
this.__elementTemplateRoot.addClass('tchmi-framework-control-js1-my-custom-class');
Please ensure that all buttons are not inadvertently assigned this appearance and that the CSS file of the
general button does not overwrite that of the embedded control. Both can be achieved by so-called
descendant selectors (spaces in CSS):
.framework-control-js1 .tchmi-button {
background-image: linear-gradient(135deg, #eff1f3, #aeb9c2);
color: #4794da;
box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.6);
}
.framework-control-js1 .tchmi-button.down {
background-image: linear-gradient(135deg, #aeb9c2, #eff1f3);
color: #000000;
box-shadow: inset 0px 0px 5px 0px rgba(0,0,0,0.6);
}
All main elements of a control are assigned the control name as CSS class name (in this case framework-
control-js1). If this is attached before the style of the control to be overwritten, the new appearance in the
example only applies to buttons below the framework control.
Source.js
A framework control requires JavaScript code. The JavaScript code is defined in the Source.js file at project
level, which is included in each framework control project. The Source.js file defines the base framework for
the implementation of a framework control and can be flexibly extended.
Programming conventions:
The programming conventions provide a basis for standardizing framework controls. They are used to
distinguish between internal and external access.
• Member variables are marked with the prefix"__" and in Camel case:
this.__myVar = …;
• Functions with external access (Engineering: setter/getter functions) are identified without prefix and in
Camel case:
MyControl.prototype.setMyVar = …
• Internal functions are marked with the prefix "__" and in Camel case:
MyControl.prototpye.__processMyVar = …
If you make changes in the Source.js file and the framework control is already associated with an
HMI project, you must then carry out a project build [} 1230] of the framework control to apply the
changes.
Explanations:
Normally, preloading of an HMI page is disabled (Preload this partial: false), which means that the controls
are not stored in the browser cache. This increases the speed of the initial HMI loading process, but it can
lead to a reduction in the loading speed of individual HMI pages on which many controls are instantiated.
In this case, the constructor of the control is called when the page is loaded (for example, when switching to
the page or when loading the start page). This is followed by the PrevInit function, the attribute setter
functions, the Init function and the Attach function. As soon as the page is unloaded (e.g. when switching to
another page), the Detach function is called, followed by the Destroy function. The life cycle of the controls
starts again when the HMI page is loaded.
If preloading is enabled for an HMI page (preload this partial: true), the controls are stored in the browser
cache. This increases the loading speed of a single HMI page, but it can lead to a reduction in the initial
loading process of the HMI.
In this case, the constructor of the control is called as soon as the HMI is initially loaded. This is followed by
the PrevInit function, the attribute setter functions and the init function. The Attach function of the control is
not called until the HMI page on which the control is instantiated is loaded. The Detach function is called as
soon as the HMI page is unloaded. The Destroy function is not called automatically subsequently. The
control remains in the browser cache. When the HMI page is reloaded, the Attach function is called directly.
Base framework
The Source.js file already contains preconfigured source code that is required for various functions of the
framework control and may not be modified in some cases. In JavaScript, a framework control is a
JavaScript object that is described by various properties and methods. In other programming languages, the
framework control would correspond to a class from which concrete instances (objects) are created at a later
point in time.
Project information
These comment lines include different files, allowing better IntelliSense support within the Source.js file.
These lines are not required for using the control.
These comment lines contain information about the creation of the framework control, which is generated
automatically when the framework control project is created. These lines are not required for using the
control.
return FrameworkControlJs1;
})(TcHmi.Controls.System.TcHmiControl);
Custom.FrameworkControlJs1 = FrameworkControlJs1;
})(Custom = Controls.Custom || (Controls.Custom = {}));
/**
* Register control...
*/
Controls.register('framework-control-js1', Custom.FrameworkControlJs1, 'Custom/
FrameworkControlJs1/', 'Custom/FrameworkControlJs1/Template.html');
})(Controls = TcHmi.Controls || (TcHmi.Controls = {}));
})(TcHmi);
This code defines the base structure of a framework control and is required for using the control at runtime.
In the event of invalid changes, the control can no longer be used properly.
Do not change the base structure of the framework control within Source.js. There is a risk that the
control can no longer be used.
Within Source.js, various namespaces are referenced and defined, which are required for the framework.
TcHmi
(function (TcHmi) { })(TcHmi);
This function makes the control known within the "TcHmi" namespace. The framework cannot be accessed
outside this namespace.
Controls
(function (Controls) { })(Controls = TcHmi.Controls || (TcHmi.Controls = {}));
This function makes the control known within the "Controls" namespace. This namespace contains all
TwinCAT HMI controls (System [} 690], Beckhoff [} 119], Custom).
The control is registered in the control namespace which is required for the Engineering of the TwinCAT
HMI. The transfer of the Template [} 1246] parameter is optional.
Controls.register('framework-control-js1', Custom.FrameworkControlJs1, 'Custom/
FrameworkControlJs1/', 'Custom/FrameworkControlJs1/Template.html');
Custom
var Custom;
(function (Custom) { })(Custom = Controls.Custom || (Controls.Custom = {}));
This function defines the namespace for user-specific controls and makes the control known within the
namespace. The concrete framework control object is defined in the custom namespace (prototypical control
object) and then assigned to the custom namespace:
Custom.FrameworkControlJs1 = FrameworkControlJs1;
A framework control is defined by a JavaScript object within the custom namespace. The logic is
implemented in this section (Constructor [} 1253], System functions [} 1254], Attributes [} 1255], Functions
[} 1257], Events [} 1259], Access rights [} 1259]).
var FrameworkControlJs1 = (function (_super) {
__extends(FrameworkControlJs1, _super);
return FrameworkControlJs1;
})(TcHmi.Controls.System.TcHmiControl);
The object (_super) of the base control [} 1232] defined in Description.json [} 1229] (usually TcHmiControl
[} 690] ) is passed to the framework control. The framework control inherits all properties of the defined base
control.
The framework control is defined by a function, in which the user-specific code of the framework control is
implemented. A function in JavaScript always links a prototypical object. Access to the prototypical object of
this function is indicated by the property "protoype". All properties (other functions) of the framework
control are stored in the function object via the prototype.
MyControlName.prototype.myProperty = function () {...};
When a specific instance (JavaScript object) is created by the function, the instance has all the properties of
the prototypical object of the function.
Constructor
Each framework control contains a constructor that is structured as follows:
function FrameworkControlJs1(element, pcElement, attrs) {
/** Call base constructor */
_super.call(this, element, pcElement, attrs);
/** Attribute variables are initialized with undefined. The System will call the setter later.
See "Attribute philosophy" above. */
this.__value = undefined;
}
Within the constructor, the internal variables of the control (member variables) are initialized with
"undefined". Initialization at this point is not necessary, but is recommended for better clarity.
The parameter values of the constructor are only used internally and forwarded to the base constructor call.
System functions
Framework controls have functions that are called by the system at different times. Each system function
calls the respective system function of the basic class (TcHmiControl [} 690]) via the "_super" object and
passes a reference to the current control object.
PrevInit function
FrameworkControlJs1.prototype.__previnit = function () {
/** Handle template elements. Should be done before call to __previnit of super class. */
this.__elementTemplateRoot = this.getElement().find('.framework-control-js1-template');
The PrevInit function is automatically called after the system calls the constructor [} 1253] and before the
attribute setters of each attribute are called. Accordingly, the member variables of the attributes have the
value "undefined" when the PrevInit function is called. Within the PrevInit function, the references [} 1246] to
the HMTL elements are created from the Template.html file.
This function may only be called by the system and not explicitly by the developer.
Init function
FrameworkControlJs1.prototype.__init = function () {
_super.prototype.__init.call(this);
};
The Init function is called automatically by the system after the attribute setters of the individual attributes
have been called. Accordingly, when the Init function is called, the member variables of the attributes already
have the values that were passed to the control or defined internally as default values.
This function may only be called by the system and not explicitly by the developer.
Attach function
FrameworkControlJs1.prototype.__attach = function () {
/**
* Enable everything which was disabled while __detach function was called!
*/
/**
* Initialize everything which is only available while the control is part of the active dom.
*/
/** Call base __attach function */
_super.prototype.__attach.call(this);
};
The Attach function is automatically called by the system after the current control instance has been added
to the DOM of the HTML document. Within the Attach function, all calculations should be performed that are
only available while the control instance is in the DOM (e.g. .getBoundingClientRect() of DOM elements
or .width() of jQuery elements). The opposite of the Attach function is the Detach function.
This function may only be called by the system and not explicitly by the developer.
Detach function
FrameworkControlJs1.prototype.__detach = function () {
/**
* Disable everything which is not needed while the control is not part of the active dom.
* No need to listen to events for example!
*/
The system automatically calls the Detach function after the current control instance has been removed from
the DOM of the HTML document. In the Detach function, all functions that are no longer required after the
control instance has been removed from the DOM are to be disabled. The opposite of the Detach function is
the Attach function.
This function may only be called by the system and not explicitly by the developer.
Destroy function
FrameworkControlJs1.prototype.destroy = function () {
/**
* Free resources
*/
/** Call base __destroy function */
_super.prototype.destroy.call(this);
};
The system automatically calls the Destroy function when the control instance is no longer used (after the
Detach function). If the control is on an HTML page where "Preload Partial" is enabled, the Destroy function
is not called because the page is still saved in the browser cache. Within the Destroy function, the elements
that were created during runtime are to be destroyed.
This function can also be called explicitly (for example when child controls are destroyed).
Attributes
Framework control attributes [} 1235] defined in Description.json must be initialized within Source.js, and the
corresponding setter, getter and process methods must be implemented. The setter and getter methods
provide central access to the attribute.
The following examples refer to the following attribute, which is defined in Description.json under "attributes
[} 1235]":
"attributes": [
{
"name": "data-tchmi-value",
"propertyName": "Value",
"propertySetterName": "setValue",
"propertyGetterName": "getValue",
"displayName": "Value",
"visible": true,
"themeable": "Standard",
"displayPriority": 10,
"type": "tchmi:general#/definitions/Boolean",
"category": "Value",
"description": "",
"readOnly": false,
"bindable": true,
"heritable": true,
"defaultValue": false,
"defaultValueInternal": false
}
]
Initialization
The attributes are initialized in the constructor of the framework control. Initialization is not required here
(variables without keywords are automatically initialized in JavaScript when used), but is recommended for
better clarity.
this.__value = undefined;
Member variables and functions that cannot be accessed from outside are prefixed with "__".
Setter method
The setter method of an attribute is only required for attributes that are not set to "readOnly [} 1239]" (all
attributes that can be set via Engineering). Like the definition, the setter method must be named in the
"propertySetterName [} 1236]".
/**
* @description Setter function for 'data-tchmi-value' attribute.
* @param {Boolean} valueNew the new value or null
* @returns {void}
*/
FrameworkControlJs1.prototype.setValue = function (valueNew) {
// convert the value with the value converter
var convertedValue = TcHmi.ValueConverter.toBoolean(valueNew);
if (tchmi_equal(convertedValue, this.__value)) {
// skip processing when the value has not changed
return;
}
Within the setter method, the parameter that was passed is first converted into the expected data type by
Engineering using the framework API function "ValueConverter". If an invalid value is passed to the
ValueConverter or if the conversion of the value fails, the function returns "null". In this case the
DefaultValueInternal [} 1240] from Description.json is used. The system then checks whether a value
change to the last stored value of the attribute on the member variable has taken place. If no value change
has taken place, the setter is exited. If a value change has taken place, the value of the member variable for
the attribute is overwritten and the system is notified that a value change has taken place. Finally, the
Process method is called for the value in which the response to the value change takes place.
The function "tchmi_equal" should be used to check for a change in value. The JS comparison op-
erator "===" can only check the base JavaScript data types but not complex JSON objects.
Getter method
The getter method of an attribute returns the current value of the attribute and is required for each attribute.
Like the definition, the getter method must be named in the "propertyGetterName [} 1236]".
/**
* @description Getter function for 'data-tchmi-value' attribute.
* @returns {Boolean}
*/
FrameworkControlJs1.prototype.getValue = function () {
return this.__value;
};
Process-Methode
The Process method is always called when the attribute value has been changed. The response to the value
changes is to be implemented in the process method. For example, depending on a Boolean value elements
can be switched visible or invisible, or a list can be created dynamically based on a transferred JSON object.
/**
* @description Processor function for 'data-tchmi-value' attribute.
* @returns {void}
*/
FrameworkControlJs1.prototype.__processValue = function () {
// process actions with Value
// ...
};
Functions
Framework control functions [} 1241] defined in Description.json must be defined and implemented in
Source.js. The function must be named like the "name [} 1241]" of the function in Description.json.
Within the function, any execution logic of the function can be implemented.
The functions enables a return value to be returned the calling point in Engineering. The return value is
defined in Description.json under "type".
"type": "tchmi:general#/definitions/Boolean"
Within the function in Source.js it is then possible to return a value of the corresponding type.
/**
* @description This is the call of the api function 'customFunction'.
* @returns {Boolean}
*/
FrameworkControlJs1.prototype.customFunction = function () {
/**
* customFunction is defined in the description.json and called from outside.
* The api functions are shown in the graphical user interface of the engineering in Visual Studio
*/
The function is implemented in Source.js like a normal function. The parameter values are passed with the
function call. The parameters must be checked for validity before they are used, similar to the attribute
setters [} 1255].
/**
* @description This is the call of the api function 'customFunction'.
* @returns {void}
*/
FrameworkControlJs1.prototype.customFunction = function (functionParameter1, functionParameter2) {
/**
* customFunction is defined in the description.json and called from outside.
* The api functions are shown in the graphical user interface of the enginnering in the twincat
*/
var convertedParameter1 = TcHmi.ValueConverter.toNumber(functionParameter1);
if (convertedParameter1 === null) {
// parameter is null: define what to do in this case
// exit function call if the execution without this parameter is not possible
return;
}
// exit function call if the execution without this parameter is not possible
return;
}
Events
Framework control events defined in Description.json should be triggered in Source.js. The name of the
event must be named like the "name [} 1243]" of the event in Description.json. An event can be triggered in
different situations, e.g. when a certain record changes (see ".onDataChanged [} 235]" in the data grid
[} 207]).
An event is triggered in Source.js via the EventProvider of the framework. The framework API function
"EventProvider.raise()" is used for this purpose. When the event is triggered, the concrete control instance
must be identified with "this.__id".
// raise .onMyCustomEvent event
TcHmi.EventProvider.raise(this.__id + '.onMyCustomEvent);
Optionally, parameters can be passed to the event callbacks when the event is triggered.
// declare parameter: type anything
var myParameterObject = 42;
// raise .onMyCustomEvent event with event parameters
TcHmi.EventProvider.raise(this.__id + '.onMyCustomEvent, myParameterObject);
The response to the triggered events can take place in Engineering via the Properties window [} 58] or via
the registration of the event in a Code Behind file [} 1222].
Access rights
User-specific access rights [} 1245] defined in Description.json and configured in Engineering [} 58] should
be checked and evaluated in Source.js. Depending on the user-specific access rights [} 887], specific
elements can be switched visible or invisible or enabled or disabled, for example.
The evaluation of the configured access rights is performed via the framework API function
"TcHmi.Access.checkAccess()". The current instance of the control is passed to the function (this) and the
name of the right to be checked, which must correspond to the definition in Description.json.
// check user access of "myCustomRight" that is defined in the description.json
if (TcHmi.Access.checkAccess(this, 'myCustomRight') === true) {
// current user has the rights to do this
Since user management only works when authentication is active, the configured functions are not
available in live view.
CustomDatatype.Schema.json
Within a framework control project, user-specific and complex data types can be implemented if the data
type is not covered by a standard data type. In principle, any data structures can be transferred as objects
without the need for a user-specific data type. A user-specific data type is required if an editor is to be
provided for generating the data in Engineering. The data editor is generically based on a given JSON
schema.
Reference the schema file in Description.json under "dataTypes [} 1244]". Note that user-specific data types
are assigned to the "Framework" category.
"dataTypes": [
{
"name": "tchmi:framework#/definitions/CustomDatatype",
"schema": "Schema/TypeDefinitions/CustomDatatype.Schema.json"
}
]
You can then use the user-specific data type within Description.json.
"type": "tchmi:framework#/definitions/CustomDatatype
Note: If the framework control is already referenced in an HMI project, a project build (see First Steps
[} 1225]) must then be executed and the HMI project reloaded so that the new data type is included in the
type descriptions of the HMI project.
To reload the project, right-click on the HMI project and select "Unload project".
Then select "Reload project" to reload the project. You can then use all the functions as usual.
Each JSON schema contains a definition that describes the data type ({DatatatypeName}). The definition of
the data type contains the specification (type) and the description of the data type through attributes
depending on the respective data type.
Objects
Objects can contain any properties. A property is described under Properties and can be refined through
optional metadata (propertiesMeta).
Explanations
propertiesMeta:
The metadata of the properties are optional. They describe the display within the generic data editor. The
metadata are described by the following properties:
• name {String}: Internal name of the property, see "name [} 1236]" in Description.json.
Note: The name must match the name under the properties.
• category {String}: Name of the category under which the property is displayed in the generic data
editor, see "category [} 1239]" in Description.json.
• displayName {String}: Name of the property displayed in the generic data editor, see "displayName
[} 1237]" in Description.json.
• displayPriority {Number}: Priority of the display, see "displayPriority [} 1238]" in Description.json.
• description {String}: Description of the property, see "description [} 1239]" in Description.json.
• defaultValue: Default value used initially in engineering, see "defaultValue [} 1240]" in
Description.json.
• defaultValueInternal: Internal default value, see "defaultValueInternal [} 1240]" in
Description.json.
properties:
The name and data type of the object properties are described under Properties. The name is determined by
the name of the property. The data type can be described as follows:
• type {string}: Default JSON data type of the property, or
• $ref {string, reference}: Reference to a framework data type. This can be implemented within the
project or taken from the existing data type descriptions of the framework.
required:
The required properties are listed under "required". The list is based on the internal name. If a property of the
object that is set to required is not set in Engineering, the generic data editor displays a warning.
Arrays
Arrays can be created from simple data types and complex objects.
Simple data types are specified within the "items" property under the "type" data type property. The following
schema defines an array of strings.
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"CustomDatatype": {
"$schema": "http://json-schema.org/draft-04/schema",
"title": "CustomDatatype",
"type": "array",
"items": {
"type": "string"
}
}
}
}
The generic data editor displays the array elements on the rleft-hand side under the name of the respective
data type (in the example: string). If a self-defined name is to be displayed instead, an object with a property
of the type of the data type must be selected instead of the simple data type, and the "displayName" of the
property must be set in the metadata.
Complex data types are specified in the property "items" under the reference property "$ref". The following
schema defines an array of objects of data type "CustomDatatype". This data type was previously
implemented as Object [} 1263].
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"MyArray": {
"$schema": "http://json-schema.org/draft-04/schema",
"title": "MyArray",
"type": "array",
"items": {
"$ref": "tchmi:framework#/definitions/CustomDatatype"
}
}
}
}
Furthermore, it is possible to describe the object directly within the array definition. The following schema
describes the same array with the definition of the object within the property "items".
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"MyArrayInlineObject": {
"$schema": "http://json-schema.org/draft-04/schema",
"title": "MyArrayInlineObject",
"type": "array",
"items": {
"type": "object",
"title": "CustomObject",
"description": "Defines a custom object in the array.",
"propertiesMeta": [
{
"name": "axisName",
"category": "Name",
"displayName": "Axis Name",
"displayPriority": 10,
"description": "",
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "axisColor",
"category": "Colors",
"displayName": "Axis color",
"displayPriority": 10,
"description": "",
"defaultValue": null,
"defaultValueInternal": {
"color": "#4794da"
}
}
],
"properties": {
"axisName": {
"type": "string"
},
"axisColor": {
"$ref": "tchmi:framework#/definitions/SolidColor"
}
},
"required": [ "axisName" ]
}
}
}
}
Both schema files generate the following generic data editor in Engineering.
Enumerations
Enumerations can contain any elements for the data type string. In the Engineering, enumerations are not
displayed in the generic data editor, but in the combo box in the Properties window. The permissible values
of the enumeration are defined in the property "enum" in an array.
The following schema defines an exemplary enumeration.
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"MyEnum": {
"$schema": "http://json-schema.org/draft-04/schema",
"title": "MyEnum",
"type": "string",
"enum": [ "MyValue1", "MyValue2", "MyValue3", "MyValue4" ]
}
}
}
The following schema defines an exemplary restriction of permissible values (oneOf). Only values that have
the data type "Time" or "TimeSpan" are permitted.
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"MyConstrainedDatatype": {
"$schema": "http://json-schema.org/draft-04/schema",
"oneOf": [
{
"title": "Time",
"$ref": "tchmi:general#/definitions/DateTime"
},
{
"title": "Timespan",
"$ref": "tchmi:general#/definitions/TimeSpan"
}
]
}
}
}
The display in Engineering is normally an attribute. However, only bindings to symbols that correspond to the
permitted data types can be created.
Manifest.json
The Manifest.json file contains optional information that can be set to create a TwinCAT HMI package. The
information is placed under the metadata and generated automatically when the project is created.
"metadata": {
"industrialField": "",
"packageType": "FrameworkExtPrj",
"id": "FrameworkControlJs1",
"version": "1.0.0.0",
"guid": "7001c40b-7081-4c53-8496-f416efe212b9",
"configurationName": "",
"platformName": "",
"creationTime": 1520610054,
"authors": "",
"owners": "",
"summary": "",
"licenseUrl": "",
"projectUrl": "",
"iconUrl": "",
"requireLicenseAcceptance": false,
"description": "",
"releaseNotes": "",
"copyright": "",
"tags": "",
"dependencies": [],
"references": []
}
Note: For creating a package, the version number must match the version number [} 1231] in
Description.json [} 1229].
Note that there may be small differences in behavior between different versions.
From version 1.12, multiple control classes can exist with the same type name. An additional namespace
has been added to differentiate between them. For example, the control types
TcHmi.Controls.BaseTemplate.TcHmiBreadcrumb and
TcHmi.Controls.ResponsiveNavigation.TcHmiBreadcrumb are supplied. All APIs that expect a
control type as input (such as TcHmi.ControlFactory.createEx) can be called with the old or new form.
However, the API getType of all controls had to be changed. In version 1.8 and 1.10 a standard button
returned tchmi-button as result whereas from version 1.12 on the full qualified name
TcHmi.Controls.Beckhoff.TcHmiButton is returned.
If you check for the type in your own source code, you may have to adapt it to the new format.
16.2.2.1.1 Introduction
An HMI project can be extended with UserControls, functions and Code-Behind. However, resources defined
there can only be used in one project.
The framework project offers a supplement in which many different components [} 1277] are encapsulated
together. These can be full controls, functions, CSS files or JavaScript libraries.
This content can still simply be passed on. See Integrating a project [} 1270].
TwinCAT HMI offers two different project templates for framework projects. The "TwinCAT HMI Framework
Project" contains a control [} 1278], whereas the "TwinCAT HMI Framework Project Empty" does not.
In both projects, any number of control, functions [} 1327] or other components [} 1277] can be stored and
adapted to your requirements.
The project can then be integrated [} 1270] directly as a reference or as a NuGet package in a TwinCAT HMI
project.
For integration via a reference select "Add Reference...". This opens a dialog in which all framework projects
within the same solution are listed:
If the project was selected with the checkbox, it is shown under References in the HMI project:
When the framework project is built, the HMI project recognizes this and updates the controls and other files
from the referenced project.
Before the current content can be integrated, it must be created as a NuGet package. This can easily be
done via the menu item "Create NuGet Package ...":
To integrate the created file into an HMI project, select "Manage NuGet Packages ...":
Here, "TwinCAT HMI Customer" is selected on the right-hand side of the NuGet Package Manager, and the
new package can be seen in the "Browse" tab.
If the package was selected with "Install", it is shown under References in the HMI project:
Since the package forms a closed unit, it can also be passed on as a file. Different options are available.
• Direct file transfer: To this end the file must be copied to the directory C:
\TwinCAT\Functions\TE2000-HMI-Engineering\References on the target computer. It is
then available for selection in the NuGet Package Manager.
• A shared directory: In applications where packages are exchanged on a regular basis, additional
directories can be defined as package sources. The setting for this can be found in the Visual Studio
options under NuGet Package Manager/Package Sources:
• Furthermore it is possible to make the packages available in the public NuGet gallery at nuget.org.
16.2.2.1.4 Structure
All framework projects need certain files. These are available by default for a new project:
• The folder Images [} 1274] initially contains only a logo, which is used in the NuGet package.
• The .nuspec file [} 1275] contains metadata for creating a NuGet package. See also the notes in the
chapter on Integrating a project [} 1270]
• Manifest.json [} 1275] contains a list of resources stored in the framework project.
• packages.config [} 1276] contains information on which NuGet packages the framework project itself
references.
• The file tsconfig.tpl.json [} 1276] configures the TypeScript compiler.
Furthermore, any number of controls [} 1277] are possible. These must each be created in a separate folder.
Functions [} 1327], JavaScript [} 1278] and CSS files [} 1277] on the other hand can be created without
subfolders and simply have to be referenced accordingly in the Manifest.json file.
References
A framework project can use content from other NuGet packages.
If, for example, an TcHmiButton [} 168] is to be created in a control factory, the NuGet package
Beckhoff.TwinCAT.HMI.Controls must be integrated (and the control must be added to
tsconfig.tpl.json [} 1276]).
Select Manage NuGet Packages from the context menu in the References node.
Select the required package in the Browse tab. It may be necessary to adapt the source in the Package
source drop-down box. TwinCAT HMI Official contains a list of all packages that are provided with the
TwinCAT HMI setup. TwinCAT HMI Customer contains all packages that were created on this computer.
Images
This directory contains the logo of the NuGet package.
However, a package can also contain images for the gallery of the HMI project. This option is described for
the components under Images [} 1278].
Project.nuspec
This file contains metadata for creating a NuGet package. Note the following important entries:
• id: Denotes the full name of the package. The name must be unique in the respective repository (on
the computer or at nuget.org, if required). Namespace-like names can be separated with a dot. To
avoid conflicts, the company name can be used as the first part, for example. See example
Beckhoff.TwinCAT.HMI.PDFViewer
• version: NuGet supports version numbers with three components (e.g. 1.2.1). Furthermore, a name
suffix is common for pre-release versions (1.2.1-beta). If an HMI project is opened and a higher version
number is found, you will be notified of the update option.
• dependencies: This is where package dependencies are defined. At least
Beckhoff.TwinCAT.HMI.Framework should have an entry here. See also References [} 1274].
• files: This entry determines which files should be included in the package. Here you can specify
single files or multiple files.
https://docs.microsoft.com/en-us/nuget/reference/nuspec
Manifest.json
This file is the main file of each framework project or package. All components and their dependencies are
documented here.
Furthermore, you can use the entry toolboxCategory to define where a control appears in the
VisualStudio toolbar.
• Beckhoff.TwinCAT.HMI:200 is stored in the System category.
• Beckhoff.TwinCAT.HMI:201 is stored in the Beckhoff category.
• Beckhoff.TwinCAT.HMI:202 is stored in the 3rd party category.
• Beckhoff.TwinCAT.HMI:203 is stored in the Legacy (1.10) category.
• You can create your own entries via provideMetadata (also for multiple languages in Visual Studio).
See example below.
• If no category is defined here, the name of the project itself is used as the category.
Sample
{
"apiVersion": 1,
"modules": [
{
"type": "Package",
"nugetId": "Beckhoff.TwinCAT.HMI.Framework"
},
{
"type": "Function",
"basePath": "myFunction/",
"descriptionFile": "myFunction.function.json"
},
{
"type": "Resource",
"path": "customHelpers.js"
},
{
"type": "Control",
"basePath": "Control1/",
"descriptionFile": "Description.json",
"toolboxCategory": "MyIdentifier:200"
},
{
"type": "Resource",
"path": "PackageStyle.css"
},
{
"type": "Resource",
"path": "PackageBaseThemeStyle.css",
"theme": "Base",
},
{
"type": "Control",
"basePath": "Control2/",
"descriptionFile": "Description.json",
"toolboxCategory": "MyIdentifier:201"
}
],
"provideMetadata": {
"toolbox": {
"MyIdentifier": {
"200": "FrameworkPrj1",
"201": {
"default": "Bühnentechnik",
"de-DE": "Bühnentechnik",
"en-US": "Stagecraft",
"it-IT": "Scenotecnica",
"nl-NL": "Theatertechniek"
}
}
}
},
"$schema": ".hmiframework/Schema/Manifest.Schema.json"
}
packages.config
This file contains information on which NuGet packages the framework project itself references. The version
number range with which the packages must comply is also specified here.
https://docs.microsoft.com/en-us/nuget/reference/packages-config
tsconfig.tpl.json
All options of the TypeScript compiler are set in tsconfig.json. This checks whether API calls are used
correctly, for example.
Type definitions for jQuery, the framework and the controls are required to analyze the source code. These
are provided with the NuGet packages. Since these paths are not always in the same place, the user only
edits this template file. Visual Studio uses this to create the correct tsconfig.json.
compilerOptions
The default is a standard set of options in the compilerOptions section. These can be changed.
However, it is possible that subsequently a project can no longer be built or no longer works in all browsers.
include
Type definitions for APIs that do not come from the browser itself are integrated in the include section. The
entry
"$(Beckhoff.TwinCAT.HMI.Framework).InstallPath/TcHmi.d.ts"
that references jQuery, framework and the system controls is essential. If, for example, an TcHmiButton
[} 168] is to be created in a control factory, the NuGet package Beckhoff.TwinCAT.HMI.Controls must
be integrated and this line must be added:
"$(Beckhoff.TwinCAT.HMI.Controls).InstallPath/TcHmiButton.d.ts"
files
Under Files, all TypeScript files to be compiled by the TypeScript compiler must be included individually and
in the correct order. New files for functions or controls are automatically added here, but manual intervention
may also be necessary.
The TypeScript compiler then creates JavaScript files with the same base name and the extension .js
instead of .ts. This should be entered under Controls [} 1278] in description.json [} 1283], for example.
16.2.2.1.5 Components
A framework project/package may include a number of components. Most of these components require a
reference in Manifest.json [} 1275].
Controls
Creating your own controls is probably the most common use case for a framework project. This is described
in detail in a special section of the documentation [} 1278].
Functions
The HMI can be flexibly extended with HMI functions. These can also be created in a framework project. This
is described in detail in a special section of the documentation [} 1327].
Stylesheets
A framework project can contain any number of stylesheet files (which may be independent of controls). This
is useful for common styles of controls within a project, for example.
Any file that has its own entry in the Manifest.json [} 1275] file is integrated in the browser accordingly. The
embedding process is carried out in the correct order. A CSS file, which is located between two controls
[} 1278] in the manifest file, is therefore also included between the CSS files of these two controls.
JS libraries / Code-Behind
A framework project can contain any number of JavaScript files (which may be independent of controls or
functions). This is useful for external libraries, for example.
Any file that has a separate entry in the Manifest.json [} 1275] file is available in the browser (and therefore
to all controls).
Images
A NuGet package may include images that appear directly in the Gallery Explorer [} 881]. To do this, the files
in the NuGet package must be stored in the special folder {gallery} folder. They should be stored in the
ImageLibrary directory and then referenced in the nuspec file [} 1275]:
<file src="ImageLibrary\*" target="tools\native1.12-tchmi\{gallery}\"/>
16.2.2.2 Controls
Starting with version 1.12, controls are always created in a framework project. The framework project can
store several controls in encapsulated form. Other options include functions and further resources. See
Framework project [} 1269]
16.2.2.2.1 Introduction
Framework controls are user-specific controls that are not created with the graphical WYSIWYG editor [} 34].
Framework controls are used if the desired behavior cannot be mapped with the standard controls or a user
control. Unlike a Code Behind file [} 1220], a framework control can be used independently of the HMI
project, so that the source code can be reused.
Each control must have a reference in Manifest.json [} 1275] within a framework package in order to be able
to use it.
Technology
Developers are no longer bound to the TwinCAT HMI controls and can use all the elements and
functionalities they are already familiar with from web development within a framework control. The standard
TwinCAT HMI controls are implemented on the same basis as a framework control. It is also possible to
reuse the TwinCAT HMI controls in the framework control or to add user-specific properties.
Application scenarios
Framework controls can map customer-specific and application-specific requirements. The following use
cases can be implemented with a framework control:
• Mapping of complex TypeScript/JavaScript logic
• Reusing HTML, JS and CSS in a control
• Dynamic elements: Adding and removing HTML elements and controls at runtime
• Developing responsive controls
• Realizing and integrating 3D models
Use
The framework controls form part of a framework project and can be integrated directly as references
[} 1270] in a TwinCAT HMI project if both projects are in the same Solution. Furthermore, it is possible to
export the framework project as a NuGet package [} 1270] and install it in different HMI projects. In this way,
it is possible to implement application-specific control libraries. Within the HMI project, a framework control is
used like a standard TwinCAT HMI control.
A control can be created based on TypeScript or JavaScript. Both have the same technical options and are
very similar in terms of programming. Due to the better programming support offered by Visual Studio,
TypeScript should be selected for new controls.
To create a new control, right-click on the destination folder in the context menu and select Add new Item.
A new folder is then created with the chosen name. This folder contains all the important files of a control.
It then becomes part of the project and can be used as a project reference or NuGet package, for example.
See Integrating a project [} 1270].
16.2.2.2.3 Structure
A framework control consists of a series of files. Most of these files are created automatically when a control
is created and filled with a base structure.
Description.json
This section describes the structure of the description file Description.json.
Any changes in Description.json must be followed by a project build (see Build Project [} 1270]).
Introduction
TwinCAT HMI Engineering reads all properties of the control from the Description.json file. The properties
allow you to transfer data to the control and vice versa. In TwinCAT HMI Engineering, the control can be
configured via the Properties window [} 58] or via the Actions and Conditions Editor [} 59]. The developer
can define additional attributes, besides the standard attributes of each framework control.
Properties
Type: Specifies the data type of the property.
Required: Specifies whether the property is required for the framework control (yes) or is optional (no).
$schema
Type: String (relative path)
Required: No
"$schema": "../.hmiframework/Schema/ControlDescription.Schema.json"
This property references the JSON schema that describes the structure of Description.json. The schema is in
a special folder of the framework control project. It is provided and updated by the NuGet package
Beckhoff.TwinCAT.HMI.Framework. Including the JSON schema enables Intellisense in Visual Studio
for each property.
name
Type: String
Required: Yes
"name": "FrameworkPrj1Control"
This property is the name of the framework control, which is automatically generated. The name (extended
by the namespace [} 1280]) is added to the control as CSS class and can be used within the CSS files [} 1298]
in the framework control project to describe the styles.
namespace
Type: String
Required: Yes
"name": "TcHmi.Controls.FrameworkPrj1"
This property is the namespace of the framework control, which is automatically generated based on the
project name. The name (extended by the name [} 1280]) is added to the control as CSS class and can be
used within the CSS files [} 1298] in the framework control project to describe the styles.
displayName
Type: String
Required: Yes
"displayName": "FrameworkControlJs1"
This property is the name of the control that is displayed as the control name in the Engineering.
version
Type: JSON object
Required: Yes
"version": {
"full": "1.0.0.0",
"major": 1,
"minor": 0,
"revision": 0,
"build": 0
}
This property is the version number of the framework control that is used for versioning a framework control.
The version number is subdivided into the major release number, minor release number, revision number
and build number.
visible
Type: Boolean
Required: Yes
"visible": true
This property makes the control visible or hides it in the toolbox in the Engineering. By default, a control is
always displayed in the toolbox.
themeable
Type: Enum string
Required: No
"themeable": "Standard"
This property determines whether the control is displayed in the theme editor [} 936] within in the TwinCAT
HMI Engineering.
Permissible values:
• Standard: The control is displayed in the theme editor.
• None: The control is not displayed in the theme editor.
• Advanced: The control is only displayed in the theme editor if the "Advanced" property is enabled in
the theme editor.
base
Type: String
Required: Yes
"base": "TcHmi.Controls.System.TcHmiControl"
This property determines whether the control inherits the properties of another control. By default, a
framework control inherits all properties of Description.json of the base control
TcHmi.Controls.System.TcHmiControl, which defines a base framework for all TwinCAT HMI
controls. The control can be made to inherit from other controls, such as a button, if a particular control is to
be extended. The control name that must be specified here corresponds to the control type [} 1280]
including its namespace [} 1280], which are defined in Description.json.
Validity
This property must refer to a valid control and must not have the value null, otherwise the control
can no longer be used in the Engineering.
template
Type: String
Required: No
"base": "Template.html"
This property defines whether the system should automatically create an HTML subtree for the control.
For further details please refer to the description of the template file [} 1296].
description
Type: String
Required: Yes
"description": "This description text will be used as a Tooltip in Visual Studio."
This property is the description of the control and is displayed as a tooltip when the mouse is moved over the
control in the toolbox.
defaultDesignerEvent
Type: String
Required: No
"defaultDesignerEvent": ""
This property determines which event is to be configured when the control is double-clicked in the Actions
and Conditions Editor [} 59]. By default (no entry or empty entry), no editor is opened on double-clicking.
All standard and custom events defined in Description.json can be used here. The following listing shows an
example of a custom event:
"defaultDesignerEvent": ".onMyCustomEvent"
properties
Type: JSON object
Required: Yes
"properties": {
"containerControl": false,
"geometry": {
"width": 150,
"height": 150
}
}
This property defines the engineering properties required for each framework control and describes general
control properties.
• containerControl {Boolean}, not required: Specifies whether the control is a container control and
can include additional controls using drag and drop. In this case, the control must also be derived
[} 1281] (directly or indirectly) from TcHmiContainerControl.
• geometry {JSON object}: Defines the default geometry properties (width and height) of the control,
which are set after dropping the control from the toolbox.
icons
Type: Array of JSON objects
Required: Yes
"icons": [
{
"name": "Icons/16x16.png",
"width": 16,
"height": 16
},
{
"name": "Icons/24x24.png",
"width": 24,
"height": 24
},
{
"name": "Icons/32x32.png",
"width": 32,
"height": 32
},
{
"name": "Icons/64x64.png",
"width": 64,
"height": 64
}
]
This property defines the icon of the control in different dimensions. The array contains JSON objects, where
each object corresponds to a control icon in a different resolution. The control icon is used to display the
control in the toolbox of the Engineering and the Actions and Conditions Editor.
The name is specified as a relative project path. The dimensions (width/height) are specified in pixels.
dependencyFiles
Type: Array of JSON objects
Required: Yes
"dependencyFiles": [
{
"name": "Control.js",
"type": "JavaScript",
"description": ""
},
{
"name": "Style.css",
"type": "Stylesheet",
"description": "Theme independent style"
}
]
This property contains all files of the framework control that must be included in the HTML file of the HMI. By
default, the Control.js and Style.css files are included. If additional JavaScript or stylesheet files are included
in the control, they must be referenced under "dependencyFiles".
The array contains JSON objects that contain information about the file:
• name {string}: file name and file extension with the relative project path to the file.
• type {string}: File type (JavaScript or Stylesheet)
• description {string}: Optional file description.
Theme-dependent stylesheet files are not included under "dependencyFiles", but under "themes
[} 1284]".
Even if the control is created via TypeScript, the compiled JavaScript file must be referenced here.
themes
Type: JSON object of JSON objects
Required: No
"themes": {
"Base": {
"resources": [
{
"name": "Themes/Base/Style.css",
"type": "Stylesheet",
"description": ""
}
]
}
}
This property contains all themes that are included in the control. By default, the base theme is included with
a stylesheet file. A theme is an object containing the array "resources". The array "resources" contains
all the files that are allocated to a theme.
A "resource" object contains the same properties as a "dependencyFile" object [} 1283], with other allowed
values for "type":
• name {string}: file name and file extension with the relative project path to the file.
• type {string}: file type (Stylesheet or ThemedValues, see Theming [} 934]).
• description {string}: Optional file description.
Images and fonts etc. are not included under the theme resources, but referenced via the stylesheet
file (see Theming [} 934]).
The following listing illustrates the inclusion of another theme with associated files:
"themes": {
"Base": {
"resources": [
{
"name": "Themes/Base/Style.css",
"type": "Stylesheet",
"description": ""
}
]
},
"Custom": {
"resources": [
{
"name": "Themes/Custom/Style.css",
"type": "Stylesheet",
"description": ""
},
{
"name": "Themes/Custom/MyTheme.theme",
"type": "ThemedValues"
"description": "This is a theme file."
}
]
}
}
attributes
Type: Array of JSON objects (attributes)
Required: Yes
"attributes": [
{
"name": "data-tchmi-value",
"propertyName": "Value",
"propertySetterName": "setValue",
"propertyGetterName": "getValue",
"displayName": "Value",
"visible": true,
"themeable": "Standard",
"displayPriority": 10,
"type": "tchmi:general#/definitions/Boolean",
"category": "Value",
"description": "",
"readOnly": false,
"bindable": true,
"heritable": true,
"defaultValue": null,
"defaultValueInternal": false
}
]
The attributes define the data interfaces to the TwinCAT HMI Engineering. The attributes of the control are
displayed in the Properties window of the Engineering under "Show Properties". Any number of attributes
can be defined in a control.
name
Type: String
Required: Yes
"name": "data-tchmi-value"
Name of the attribute. The name is written into the HMTL code of the control as a "data-*" attribute.
Therefore, the "data-" prefix is mandatory. The subsequent prefix "tchmi-" before the attribute is
recommended for standardizing attributes, but it is not obligatory. An attribute name may only be used once
for each control, otherwise unambiguous assignment cannot be guaranteed.
propertyName
Type: String
Required: Yes
"propertyName": "Value"
Internal attribute name of the control. The internal attribute name is formed from the attribute name without
prefix in Pascal case.
Example:
"name": "data-tchmi-my-custom-value"
becomes: „MyCustomValue“.
For better assignment between JavaScript variables and attributes, it is recommended to name the attribute
variable in the JavaScript/TypeScript code of Source.js according to the "propertyName".
propertySetterName
Type: String
Required: Yes
"propertySetterName": "setValue"
This property creates the reference to the setter function in Source.js. The setter function allows a new value
to be set. For the reference between Description.json and Source.js, the setter function must have the same
name as the"propertySetterName". If the names in Description.json and Source.js/ts are different, an
error message appears in the browser console and the setter function cannot be used.
The recommended notation for the setter name is the "propertyName" plus the prefix "set" in Camel case.
If an attribute is read only [} 1289], the empty string should be entered as propertySetterName.
propertyGetterName
Type: String
Required: Yes
"propertyGetterName": "getValue"
This property creates the reference to the getter function in Source.js/ts. The getter function returns the
attribute value when called. For the reference between Description.json and Source.js, the getter function
must have the same name as the"propertyGetterName". If the names in Description.json and Source.js/
ts are different, an error message appears in the browser console and the getter function cannot be used.
The recommended notation for the getter name is the "propertyName" plus the prefix "get" in Camel case.
displayName
Type: String
Required: Yes
"displayName": "Value"
The property is the name of the attribute displayed in the Engineering Properties window for the attribute.
You can choose any "displayName".
refTo
Type: String
Required: No
"refTo": "basePropertyName"
This is used to write the physical unit (pixel or percent) in the development environment next to the numeric
value.
searchTerms
Type: Array of strings
Required: No
"searchTerms": [
"Shortcut1",
"ShortCut2",
"Shortcut3"
]
This property defines a list of search terms for Engineering to optimize the search function within the Actions
and Conditions Editor and the Properties window. This makes it possible to find the attribute using terms
other than the attribute name.
visible
Type: Boolean
Required: No
"visible": true
This property determines whether the attribute is to be displayed in the Engineering. If the property is set to
"false", the attribute is not available in the Engineering. By default, all attributes are displayed in the
Engineering.
themeable
Type: Enum string
Required: No
"themeable": "Standard"
This property determines whether the attribute is displayed in the theme editor in the Engineering.
Permissible values:
• Standard: The attribute is displayed in the theme editor.
• None: The attribute is not displayed in the theme editor.
• Advanced: The attribute is only displayed in the theme editor if the "Advanced" property is activated
in the theme editor.
type
Type: String (TcHmi data type)
Required: Yes
"type": "tchmi:general#/definitions/Boolean"
This property indicates the data types of the attribute. All data types of the TwinCAT HMI [} 87] are available.
Further user-specific data types can be defined (see dataTypes [} 1294]). The data type determines the
display of the attribute in the Engineering Properties window (e.g. checkbox for a Boolean value).
displayPriority
Type: Number
Required: No
"displayPriority": 10
This property determines the priority with which the attribute is displayed within the category in the
Engineering Properties window. User-specific sorting of attributes is possible based on the priority. Attributes
with the same priority are displayed according to the order in which they are defined. The prioritization of the
attribute categories is set via the property "attributCategories [} 1290]".
• Values less than 10 have high priority and are displayed higher up in the category, according to the
value.
• Values that equal 10 have main attributes like top, left etc.
• Values greater than 10 have low priority and are displayed lower down in the category, according to
the value.
• Values greater than 50 are collapsed by default and have to be expanded using the arrow.
allowedFunctions
Type: JSON object
Required: No
"allowedFunctions": {
"returnType": "tchmi:general#/definitions/String",
"requiredArguments": [
{
"type": "tchmi:general#/definitions/Number"
}
],
"requiredWaitMode": "Synchronous"
}
This property determines which functions are allowed for the attribute. This means that when configuring the
attribute, only those functions are displayed that meet the defined criteria.
A selected function may allow additional parameters. These parameters can be specified for each instance
in engineering.
Attributes:
• returnType {string}: Determines which TwinCAT HMI data type may be returned by the function.
• requiredArguments {array of JSON objects}: Determines which TwinCAT HMI data types the
functions may have as parameter values. The parameters mentioned here are set by the control.
• requiredWaitMode {enum string}: Determines in which mode (synchronous, asynchronous) the
function may be executed (Synchronous, Asynchronous).
For example, one the Beckhoff controls that uses this property is LinearGauge [} 400], namely for the
ValueFormat [} 419] in order to restrict the functions that can format the values of the gauge.
category
Type: String
Required: No
"category": "Value"
This property indicates the category to which the attribute is assigned in the Engineering Properties window.
New category names can be assigned or standard category names (e.g. Common) can be used. A new
category name does not have to exist under the Attribute categories [} 1290], since the category is created
independently of the attribute categories. The attribute categories are used to prioritize different attribute
categories.
description
Type: String
Required: No
"description": "This description text will be used as a Tooltip in Visual Studio."
This property contains the description of the attribute, which is displayed as a tooltip when the mouse is
moved over the attribute.
requiredOnCompile
Type: Boolean
Required: No
"requiredOnCompile": false
This property determines whether the attribute of the control is required when the HMI is compiled. If the
attribute is required for the control and the property is not set, an error message is issued and the control is
not valid. This property is normally not required for attributes of a framework control. An example of
"requiredOnCompile" is the id of a control.
readOnly
Type: Boolean
Required: No
"readOnly": false
This property indicates whether the Engineering has write access to the attribute or only read access. By
default, write access to an attribute is available. If readOnly is set to true, the attribute is no longer
displayed in the Engineering Properties window, but it can still be used via the Actions and Conditions Editor.
For read only attributes, the propertySetterName [} 1286] is not required and can be replaced by an
empty string.
bindable
Type: Boolean
Required: No
"bindable": true
This property indicates whether a data Binding [} 103] to the attribute can be created in the Engineering. By
default, the property is true.
If the property is set to false, it is not possible to link symbols to the attribute. Nevertheless, this attribute
can be used and read at another location.
heritable
Type: Boolean
Required: No
"heritable": true
This property indicates whether the attribute can be passed on to other control. By default, the property is
true. If the property is set to false, it is not available in the derived control classes.
allowSymbolExpressionsInObject
Type: Boolean
Required: No
"allowSymbolExpressionsInObject": false
This property specifies whether the attribute setter [} 1308] can process symbol expressions within an object.
This setting is not relevant if the values of an attribute are not objects (e.g. string, Boolean, number). By
default, the property is false.
For step-by-step instructions on how these data types are processed, see Handling of symbol expressions in
objects [} 1324]
defaultBindingMode
Type: Boolean
Required: No
"defaultBindingMode": "OneWay"
Permissible values:
• OneWay: By default, a binding to the attribute is only valid for writing to the control. This is the default.
• TwoWay: By default, a binding to the attribute is valid for reading to and writing from the control. The
new value is written to the binding each time the respective attribute is changed. See also Configure
binding [} 107]
defaultValue
Type: Data type of the attribute
Required: No
"defaultValue": false
This property indicates the default value for the attribute that is used in the Engineering Properties window
when instantiating the control and written to the HTML code.
defaultValueInternal
Type: Data type of the attribute
Required: No
"defaultValueInternal": false
This property specifies the internal default value for the attribute. This value is passed to the Setter function
[} 1286] when the control is initialized. The internal default may differ from the normal default [} 1290] ("drop
default").
attributeCategories
Type: Array of JSON objects
Required: No
"attributeCategories": [
{
"name": "Value",
"displayPriority": 500,
"defaultCollapsed": false,
"description": ""
}
]
The property is used to prioritize new attribute categories that are assigned under Attributes [} 1288].
Prioritization is used to determine the displayed order of the categories in the Engineering Properties
window. The attribute categories are described within a JSON object.
themedResources
Type: Array of JSON objects
Required: No
"themedResources": [
{
"name": "MyCustomThemedResource",
"displayName": "MyCustomThemedResource",
"description": "This is a custom themed resource. Look at theming of framework controls.",
"type": "tchmi:framework#/definitions/MyThemedDefinition"
}
]
This property contains all user-specific theme definitions that are not defined as attributes in the Engineering
Properties window and can only be changed using the theme editor. An example of a "ThemedResource"
are images within a control that cannot be exchanged via the Properties window (e.g. KnobConfigHorizontal
and KnobConfigVertical for the LinearGauge [} 400]). A control developer can access these resources via the
theme API.
functions
MType: Array of JSON objects
Required: No
"functions": [
{
"name": "customFunction",
"displayName": "customFunction",
"visible": true,
"description": "This is a sample for a function that can be called.",
"category": "Actions",
"params": [],
"type": null,
"heritable": true,
"searchTerms": []
}
]
This property defines functions of the control that are independent of attributes. The functions can optionally
have parameter values or a return value. Each function must have the same name in Source.js, otherwise an
error message appears in the browser console and the function is not executed.
The following diagram shows an example of two framework control functions in engineering, neither of which
has a return value. A function contains optional parameter values.
params
Type: JSON object
Required: No
"params": [
{
"name": "functionParameter1",
"displayName": "functionParameter1",
"description": "This is a sample for a function parameter.",
"type": "tchmi:general#/definitions/Number",
"visible": true
},
{
"name": "functionParameter2",
"displayName": "functionParameter2",
"description": "This is a sample for a function parameter.",
"type": "tchmi:general#/definitions/Boolean",
"bindable": false
"visible": true
}
]
This property defines the optional parameter vaules of a function. The parameter values can be transferred
via Engineering.
events
Type: Array of JSON objects
Required: No
"events": [
{
"name": ".onMyCustomEvent",
"displayName": ".onMyCustomEvent",
"visible": true,
"displayPriority": 30,
"category": "Control",
"description": "This is a sample for a framework control event.",
"heritable": true,
"allowsPreventDefault": false
}
]
This property defines events that can be configured through the Engineering and are triggered in this
framework control. An event is used to notify engineering that a specific event has occurred in the control.
The HMI developer in engineering has the option to respond to this event accordingly. Triggering of an event
is implemented in Source.js.
• displayPriority {Number}, not required: the priority determines the order in which the various
events are displayed within the category.
◦ Values = 10 correspond to frequently used events such as ".onPressed".
◦ Values = 15 correspond to standard events such as ".onClick" or "onRightClick".
◦ Values = 50 correspond to rarely used events such as ".onMouseUp".
◦ No value assigned: the event is collapsed by default and has to be expanded using the arrow.
• category {String}: the category determines under which category the event is listed in the
Engineering. Existing categories such as "Operator" can be used, or new category names can be
assigned.
• description {String}: optional description of the event, which is displayed as a tooltip on mouseover
in the Engineering.
• heritable {Boolean}: this property defines whether the event is to be inherited to derived classes. By
default, this value is "true", so that the event is inherited.
• allowsPreventDefault {Boolean}, not required: this property specifies that a user can explicitly
select preventDefault. See also Events [} 1313]
dataTypes
Type: Array of JSON objects
Required: No
"dataTypes": [
{
"schema": "Schema/TypeDefinitions/CustomDatatype.Schema.json"
}
]
This property contains a list of files in which all user-specific data types of the control are defined. Each file
can describe any number of data types. Developer can define their own data types in a JSON schema. The
definition usually takes place under "Schema\TypeDefinitions [} 1228]". In order for the Engineering to know
and be able to process the user-specific data types, they must be referenced in Description.json.
access
Type: Array of JSON objects
Required: No
"access": [
{
"name": "myCustomRight",
"displayName": "myCustomRight",
"description": "This is a sample for access rights in the framework control.",
"visible": true,
"defaultValueInternal": null
}
]
This property contains a list of user-specific access rights that can be configured via the Engineering. Access
rights restrict user groups in their activities (see authorization system [} 893]). A user-specific access right
must be evaluated in Source.js with corresponding user-specific logic [} 1314].
Various user groups are assigned to an access right via the Engineering, which are structured according to
the following schema: tchmi:framework#/definitions/ControlAccessRight
This schema defines the type of access (Allow, Deny, Inherit) the respective user group has to the
access right.
In the Engineering, the access right is displayed in the Properties window as follows (for two different user
groups):
Template.html
Like every control in the TwinCAT HMI, a framework control is based on HTML code. As soon as a
framework control is instantiated in the Engineering of the TwinCAT HMI, an HTML div element is
automatically created for the control. The developer of the framework control can define additional HTML
code for the control within the control div element.
HTML/SVG code
The definition of the HTML/SVG code is implemented in the "Template.html" file. The use of this file is
optional. The Template.html file is only used if it is referenced in Description.json [} 1282] of the control. The
Template.html file defines the basic structure of a framework control.
<div class="TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1-Template tchmi-box">
<!--Place your code here-->
</div>
The HTML/SVG code defined within this file is automatically inserted in the control div element (if the file is
used) in the engineering. The code can be viewed in the browser during debugging, for example.
<div id="TcHmiFrameworkControlJs1" data-tchmi-type="
TcHmi.Controls.FrameworkPrj1.FrameworkControlJs1" data-tchmi-height="150" data-tchmi-height-
unit="px" data-tchmi-left="137" data-tchmi-left-unit="px" data-tchmi-top="140" data-tchmi-top-
unit="px" data-tchmi-value="True" data-tchmi-width="150" data-tchmi-width-unit="px" class="tchmi-box
tchmi-control framework-control-js1" title="" style="left: 137px; top: 140px; width: 150px; height:
150px; z-index: 0; border-width: 0px;">
<div class="TcHmi_Controls_FrameworkPrj1_FrameworkControlTs1-Template tchmi-box">
<!--Place your code here-->
</div>
</div>
Within the Template.html file any number of HTML/SVG elements can be defined. All standard HTML/SVG
elements are available to the developer.
In addition to the standard HTML elements, TwinCAT HMI controls can also be used in the Template.html
file. See Dynamic control generation [} 1325].
The user-specific HTML code should be placed within the template div ("Place your code here").
CSS classes
Within the elements in the Template.html file, CSS classes [} 1298] can be assigned, which are described via
cascading style sheets files, either detached from the theme or depending on the theme. By default, the
template class in the Style.css file is used at project level.
The HTML elements defined within the Template.html file can be further processed in the Source.js/ts file
[} 1301]. The elements can be changed during runtime or used as placeholders for dynamically created
elements, for example. Processing of the HTML elements in the Source.js/ts file is optional. Static use within
the Template.html file is also possible.
If the HTML elements are to be processed further in the Source.js/ts file, references to the HTML elements
must be created there. References to the Template.html file are created within the PrevInit function in the
Source.js file.
/** Handle template elements. Should be done before call to __previnit of super class. */
this.__elementTemplateRoot =
this.getElement().find('.TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1-Template');
The listing shows the access to the template div within Template.html. A search for the template div is
initiated using the ".find()" JQuery function within the main JQuery object of the control. The reference to the
JQuery object of the control can be reached via ".getElement()". If additional elements are placed within the
template div, they can also be found using the ".find()" JQuery function. For performance reasons, we
recommend to avoid using the outer JQuery object for the search in cases with many nested elements, but
to use the inner elements that are already referenced instead.
Sample:
<div class="TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1-Template tchmi-box">
<div class="TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1-inner-div">
<div class="TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1-inner-div-my-element">
</div>
</div>
</div>
Style.css
Within a framework control, the appearance of individual elements is described using cascading style sheets.
The default design of the control is defined in the Style.css file at the project level and in the Style.css file,
the base theme of the control. In addition to the standard design, further themes can be defined for the
framework control. The appearance of a framework control can be changed at four different levels [} 945]
according to the theme system of the TwinCAT HMI.
Theme levels
The appearance of a framework control can be described at different levels of the theme system [} 945].
Control themes [} 940] can be defined at level 4 of the theme system. Control themes allow individual
attributes of the framework control to be overwritten. A control theme is defined within a theme file and can
be created using the theme editor in Engineering or directly as JSON code. The theme file must be assigned
to a specific theme within the project:
The theme file must then be referenced as "ThemedValues" under "themes [} 1284]" in the Description.json
file.
At level 5 of the theme system, it is possible to set the properties of the attribute via DefaultValueInternal
[} 1290]. DefaultValueInternal can be set in the Description.json file of the framework control.
Cascading style sheet files can be added to a theme at level 8 of the theme system. Within the CSS file any
element properties can be defined.
The CSS file "Stylesheet" must then be referenced under "themes [} 1284]" in the Description.json file of the
framework control.
At level 9 of the theme system, Cascading Style Sheet files can be added independently of a theme at
project level in the control. By default, each framework control project contains a Style.css file at project
level. Within this file, element properties are defined that are to apply independently of a theme (e.g. sizes of
a div).
All CSS files at the project level in the control must be referenced under dependencyFiles [} 1283] in the
Description.json file of the framework control.
Permitted selectors
The following CSS selectors can be used conditionally within a CSS file of a framework control:
• Type selectors
• Attribute selectors
• Class selectors
With class selectors, new CSS classes are defined for a framework control, which means that CSS
styles are not overwritten outside the framework control. If type or attribute selectors are to be used,
you must ensure that they are only used for the class of the framework control and do not overwrite
any styles outside the framework control (descendant selector):
.TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1 a {
color: red;
}
The following CSS selectors should not be used within a CSS file of a framework control:
• ID selectors: Due to multiple instantiation, you cannot assign fixed IDs within a framework control.
• Universal selector: A framework control should not overwrite any styles outside the control during
instantiation.
CSS classes can be used in the Template.html file, or they can be added dynamically at runtime within the
Source.js/ts file.
.TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1-template
{
width: 100%;
height: 100%;
}
Within the Template.html file, a CSS class is assigned via the HTML attribute "class":
<div class="TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1-template tchmi-box">
</div>
The class "tchmi-box" sets CSS properties to facilitate element positioning and can be used with
all positioned HTML elements.
The dynamic use of a CSS class within Source.js can be realized via the jQuery function ".addClass()", for
example:
this.__elementTemplateRoot.addClass('TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1-my-custom-
class');
Please ensure that all buttons are not inadvertently assigned this appearance and that the CSS file of the
general button does not overwrite that of the embedded control. Both can be achieved by so-called
descendant selectors (spaces in CSS):
.TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1 .TcHmi_Controls_Beckhoff_TcHmiButton {
background-image: linear-gradient(135deg, #eff1f3, #aeb9c2);
color: #4794da;
box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.6);
}
.TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1 .TcHmi_Controls_Beckhoff_TcHmiButton.down {
background-image: linear-gradient(135deg, #aeb9c2, #eff1f3);
color: #000000;
box-shadow: inset 0px 0px 5px 0px rgba(0,0,0,0.6);
}
All main elements of a control are assigned the control name (extended by the namespace) as CSS class
name (here TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1). If this is attached before the
style of the control to be overwritten, the new appearance in the example only applies to buttons below the
framework control.
Control.ts/js
A framework control requires JavaScript code or TypeScript code.
Browsers cannot execute TypeScript, so an additional compilation step turns TypeScript code into
corresponding JavaScript code. TypeScript extends the syntax of JavaScript with information about data
type and access rights.
Both file types (Control.js and Control.ts) define the base framework for the implementation of a framework
control and can be extended flexibly. See also Creating a control [} 1279].
Programming conventions
The programming conventions provide a base for standardizing framework controls. They are used to
distinguish between internal and external access.
• Member variables are marked with the prefix"__" and in Camel case:
this.__myVar = …;
• Functions with external access (Engineering: setter/getter functions) are identified without prefix and in
Camel case:
setMyVar() { /* … */ }
• Internal functions are marked with the prefix "__" and in Camel case:
__processMyVar() { /* … */ }
The project directory contains a file .eslintrc.json. This can be used to enter rules for the source code
analysis tool eslint for all JavaScript and also TypeScript files. By default a few rules are already active there,
which can detect actual program errors. The documentation under https://eslint.org/docs/rules/ lists all
possible rules in detail.
If you make changes in the Control.js file and the framework control is already associated with an
HMI project, you must then carry out a project build [} 1280] of the framework control to apply the
changes. A corresponding JavaScript file is automatically created from the TypeScript files.
Explanations:
6. The Detach function is called after a control has been removed from the DOM of the HMI page (e.g.
during page switching).
7. The Destroy function is called after the control has been removed from the DOM of the HMI page, so
that the system can destroy the controls. In addition, the Destroy function can be called explicitly at
another point (for example, when subordinate controls elements are destroyed).
Normally, preloading of an HMI page is disabled ("Preload this partial: false" as setting for a content file),
which means that the controls are not stored in the browser cache. This increases the speed of the initial
HMI loading process, but it can lead to a reduction in the loading speed of individual HMI pages on which
many controls are instantiated. Memory consumption is also reduced because the pages are no longer in
memory when they are not active.
In this case, the constructor of the control is called when the page is loaded (for example, when switching to
the page or when loading the start page). This is followed by the PrevInit function, the attribute setter
functions, the Init function and the Attach function. As soon as the page is unloaded (e.g. when switching to
another page), the Detach function is called, followed by the Destroy function. The life cycle of the controls
starts again when the HMI page is loaded.
If preloading is enabled for an HMI page ("Preload this partial: true" as setting for a content file), the controls
are stored in the browser cache. This increases the loading speed of a single HMI page, but it can lead to a
reduction in the initial loading process of the HMI. Furthermore, memory consumption is increased because
all preloaded pages are always in memory, even if they are never activated.
In this case, the constructor of the control is called as soon as the HMI is initially loaded. This is followed by
the PrevInit function, the attribute setter functions and the init function. The Attach function of the control is
not called until the HMI page on which the control is instantiated is loaded. The Detach function is called as
soon as the HMI page is unloaded. The Destroy function is not called automatically subsequently. The
control remains in the browser cache. When the HMI page is reloaded, the Attach function is called directly.
If KeepAlive is enabled for an HMI page ("KeepAlive this partial: true" as setting for a content file), the
controls are kept in the browser cache. This increases the loading speed of a single HMI page if it is called
several times. The controls of a page are created when the page is accessed for the first time. They are
retained when the page is exited. This only slightly increases memory consumption, since only those pages
remain in memory that were enabled once.
Pages with KeepAlive are therefore kept in memory similar to preload when they are no longer needed. In
contrast, these pages are not loaded initially. This ensures fast loading of the entire application.
In this case, the constructor of the control is called when the page is loaded (for example, when switching to
the page or when loading the start page). This is followed by the PrevInit function, the attribute setter
functions and the init function. The Attach function of the control is not called until the HMI page on which the
control is instantiated is loaded. The Detach function is called as soon as the HMI page is unloaded. The
Destroy function is not called automatically subsequently. The control remains in the browser cache. When
the HMI page is reloaded, the Attach function is called directly.
Base framework
The Source.js/ts file already contains preconfigured source code that is required for various functions of the
framework control and may not be modified in some cases. A framework control corresponds to a class, of
which concrete instances (objects) are created at a later time.
Project information
This comment line includes files, allowing better IntelliSense support within the Control.js file. These lines are
not required for using the control.
These comment lines contain information about the creation of the framework control, which is generated
automatically when the framework control project is created. These lines are not required for using the
control.
Do not change the base structure of the framework control within Control.js/ts. There is a risk that
the control can no longer be used.
}
}
registerEx('FrameworkPrj1Control', 'TcHmi.Controls.FrameworkPrj1',
FrameworkPrj1.FrameworkPrj1Control);
}
}
The base structure of version 1.8 and 1.10 controls [} 1251]is still supported. However, it is recom-
mended to use TypeScript or this Javascipt syntax for new controls:
(function (/** @type {globalThis.TcHmi} */ TcHmi) {
let Controls;
(function (/** @type {globalThis.TcHmi.Controls} */ Controls) {
let FrameworkPrj1;
(function (FrameworkPrj1) {
class FrameworkControlJs1 extends TcHmi.Controls.System.TcHmiControl {
constructor(element, pcElement, attrs) {
super(element, pcElement, attrs);
}
FrameworkPrj1.FrameworkControlJs1 = FrameworkControlJs1;
})(FrameworkPrj1 = Controls.FrameworkPrj1 || (Controls.FrameworkPrj1 = {}));
Controls.registerEx('FrameworkControlJs1', 'TcHmi.Controls.FrameworkPrj1',
FrameworkPrj1.FrameworkControlJs1);
})(Controls = TcHmi.Controls || (TcHmi.Controls = {}));
})(TcHmi || (TcHmi = {}));
This code defines the base structure of a framework control and is required for using the control at runtime.
In the event of invalid changes, the control can no longer be used properly.
Within Control.js, various namespaces are referenced and defined, which are required for the framework.
Many of these definitions are unnecessary in TypeScript.
TcHmi
(function (/** @type {globalThis.TcHmi} */ TcHmi) { })(TcHmi);
This function makes the control known within the "TcHmi" namespace. The framework cannot be accessed
outside this namespace.
Controls
(function (/** @type {globalThis.TcHmi.Controls} */ Controls) { })(Controls = TcHmi.Controls ||
(TcHmi.Controls = {}));
This function makes the control known within the "Controls" namespace. This namespace contains all
TwinCAT HMI controls (System [} 690], Beckhoff [} 119], Custom).
The control is registered in the control namespace which is required for the Engineering of the TwinCAT
HMI.
Controls.registerEx('FrameworkControlJs1', 'TcHmi.Controls.FrameworkPrj1',
FrameworkPrj1.FrameworkControlJs1);
Own namespace
var FrameworkPrj1;
(function (FrameworkPrj1) { })(FrameworkPrj1= Controls.FrameworkPrj1 || (Controls.FrameworkPrj1 =
{}));
This function defines the namespace for user-specific controls and makes the control known within the
namespace. The concrete framework control object is defined in the FrameworkPrj1 namespace and then
assigned to the FrameworkPrj1 namespace:
FrameworkPrj1.FrameworkControlJs1 = FrameworkControlJs1;
Control class
A framework control is defined by a JavaScript class within the FrameworkPrj1 namespace. The logic is
implemented in this section (Constructor [} 1305], System functions [} 1306], Attributes [} 1308], Functions
[} 1311], Events [} 1313], Access rights [} 1314]).
let FrameworkPrj1;
(function (FrameworkPrj1) {
class FrameworkControlJs1 extends TcHmi.Controls.System.TcHmiControl {
constructor(element, pcElement, attrs) {
super(element, pcElement, attrs);
}
For the framework control the class of the base control [} 1281] (usually TcHmiControl [} 690]) defined in
Description.json [} 1279] is specified. The framework control inherits all properties of the defined base
control.
The framework control is defined by a class within which the user-specific code of the framework control is
implemented.
When a specific instance (JavaScript object) is created by the class, the instance has all the properties of the
class.
Constructor
Each TypeScript framework control contains a constructor that is structured as follows:
export class FrameworkPrj1Control extends TcHmi.Controls.System.TcHmiControl {
constructor(element: JQuery, pcElement: JQuery, attrs: TcHmi.Controls.ControlAttributeList) {
super(element, pcElement, attrs);
}
}
}
}
The parameter values of the constructor are only used internally and forwarded to the base constructor call.
With JavaScript controls, the internal variables of the control (member variables) are initialized with
"undefined" within the constructor. Initialization at this point is not necessary, but is recommended for better
clarity.
System functions
Framework controls have functions that are called by the system at different times. Each system function
calls the respective system function of the base class (TcHmiControl [} 690]) via the "super" object.
PrevInit function
TypeScript:
protected __elementTemplateRoot!: JQuery;
public __previnit() {
/** Handle template elements. Should be done before call to __previnit of super class. */
this.__elementTemplateRoot =
this.getElement().find('.TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1-Template');
If variables (such as __elementTemplateRoot) are written with the final value in PrevInit, they do not
need the type undefined. In this case the type JQuery is sufficient. To notify TypeScript that these
variables are still not used uninitialized, the Definite Assignment Assertion operator must be used with an
exclamation mark.
JavaScript:
__previnit() {
/** Handle template elements. Should be done before call to __previnit of super class. */
this.__elementTemplateRoot =
this.getElement().find('.TcHmi_Controls_FrameworkPrj1_FrameworkControlJs1-Template');
The PrevInit function is automatically called after the system calls the constructor [} 1305] and before the
attribute setters of each attribute are called. Accordingly, the member variables of the attributes have the
value "undefined" when the PrevInit function is called. Within the PrevInit function, the references [} 1296] to
the HMTL elements are created from the Template.html file.
This function may only be called by the system and not explicitly by the developer.
Init function
TypeScript:
public __init() {
super.__init();
}
JavaScript:
__init() {
super.__init();
}
The Init function is called automatically by the system after the attribute setters of the individual attributes
have been called. Accordingly, when the Init function is called, the member variables of the attributes already
have the values that were passed to the control or defined internally as default values.
This function may only be called by the system and not explicitly by the developer.
Attach function
TypeScript:
public __attach() {
/**
* Enable everything which was disabled while __detach function was called!
*/
/**
* Initialize everything which is only available while the control is part of the active dom.
*/
/** Call base __attach function */
super.__attach();
}
JavaScript:
__attach() {
/**
* Enable everything which was disabled while __detach function was called!
*/
/**
* Initialize everything which is only available while the control is part of the active dom.
*/
/** Call base __attach function */
super.__attach();
}
The Attach function is automatically called by the system after the current control instance has been added
to the DOM of the HTML document. Within the Attach function, all calculations should be performed that are
only available while the control instance is in the DOM (e.g. .getBoundingClientRect() of DOM elements
or .width() of jQuery elements). The opposite of the Attach function is the Detach function.
This function may only be called by the system and not explicitly by the developer.
Detach function
TypeScript:
public __detach() {
/**
* Disable everything which is not needed while the control is not part of the active dom.
* No need to listen to events for example!
*/
/** Call base __detach function */
super.__detach();
}
JavaScript:
__detach() {
/**
* Disable everything which is not needed while the control is not part of the active dom.
* No need to listen to events for example!
*/
/** Call base __detach function */
super.__detach();
}
The system automatically calls the Detach function after the current control instance has been removed from
the DOM of the HTML document. In the Detach function, all functions that are no longer required after the
control instance has been removed from the DOM are to be disabled. The opposite of the Detach function is
the Attach function.
This function may only be called by the system and not explicitly by the developer.
Destroy function
TypeScript:
public destroy() {
if (this.__keepAlive) {
return;
}
/**
* Free resources
*/
/** Call base __destroy function */
super.destroy();
}
JavaScript:
destroy() {
if (this.__keepAlive) {
return;
}
/**
* Free resources like events etc.
*/
/** Call base __destroy function */
super.destroy();
}
The system automatically calls the Destroy function when the control instance is no longer used (after the
Detach function). If the control is on an HTML page where "Preload Partial" is enabled, the Destroy function
is not called because the page is still saved in the browser cache. Within the Destroy function, the elements
that were created during runtime are to be destroyed.
This function can also be called explicitly (for example when child controls are destroyed).
Attributes
Framework control attributes [} 1285] defined in Description.json must be initialized within Control.js, and the
corresponding setter, getter and process methods must be implemented. The setter and getter methods
provide central access to the attribute.
The following examples refer to the following attribute, which is defined in Description.json under "attributes
[} 1285]":
"attributes": [
{
"name": "data-tchmi-value",
"propertyName": "Value",
"propertySetterName": "setValue",
"propertyGetterName": "getValue",
"displayName": "Value",
"visible": true,
"themeable": "Standard",
"displayPriority": 10,
"type": "tchmi:general#/definitions/Boolean",
"category": "Value",
"description": "",
"readOnly": false,
"bindable": true,
"heritable": true,
"defaultValue": null,
"defaultValueInternal": false
}
]
Initialization (TypeScript)
The declaration of the attributes is implemented as a separate line in TypeScript. Note that the data type
must be defined for these attributes. Attributes are set late in the life cycle, so they should have undefined
as a possible additional data type. The keyword protected specifies that only derived controls may access
these variables, but not foreign controls.
protected __value: boolean | undefined;
Initialization (JavaScript)
The attributes are initialized in the constructor of the framework control. Initialization is not required here
(variables without keywords are automatically initialized in JavaScript when used), but is recommended for
better clarity.
this.__value = undefined;
Member variables and functions that cannot be accessed from outside are prefixed with "__".
Setter method
The setter method of an attribute is only required for attributes that are not set to "readOnly [} 1289]" (all
attributes that can be set via Engineering). Like the definition, the setter method must be named in the
"propertySetterName [} 1286]".
TypeScript:
/**
* @description Setter function for 'data-tchmi-value' attribute.
* @param valueNew the new value or null
*/
public setValue(valueNew: boolean | null): void {
// convert the value with the value converter
let convertedValue = TcHmi.ValueConverter.toBoolean(valueNew);
if (tchmi_equal(convertedValue, this.__value)) {
// skip processing when the value has not changed
return;
}
JavaScript:
/**
* @description Setter function for 'data-tchmi-value' attribute.
* @param {boolean} valueNew the new value or null
* @returns {void}
*/
setValue(valueNew) {
// convert the value with the value converter
var convertedValue = TcHmi.ValueConverter.toBoolean(valueNew);
if (tchmi_equal(convertedValue, this.__value)) {
// skip processing when the value has not changed
return;
}
Within the setter method, the parameter that was passed is first converted into the expected data type by
Engineering using the framework API function "ValueConverter". If an invalid value is passed to the
ValueConverter or if the conversion of the value fails, the function returns "null". In this case the
DefaultValueInternal [} 1290] from Description.json is used. The system then checks whether a value
change to the last stored value of the attribute on the member variable has taken place. If no value change
has taken place, the setter is exited. If a value change has taken place, the value of the member variable for
the attribute is overwritten and the system is notified that a value change has taken place. Finally, the
Process method is called for the value in which the response to the value change takes place.
If the attribute contains an object (i.e. no base data type such as string, Boolean, number), it can
optionally contain symbol expressions.
A detailed description of the adjustments for this case can be found in the article Handling of symbol
expressions in objects [} 1324].
The function "tchmi_equal" should be used to check for a change in value. The JS comparison op-
erator "===" can only check the basic JavaScript data types but not complex JSON objects.
Getter method
The getter method of an attribute returns the current value of the attribute and is required for each attribute.
Like the definition, the getter method must be named in the "propertyGetterName [} 1286]".
TypeScript:
/**
* @description Getter function for 'data-tchmi-value' attribute.
*/
public getValue () {
return this.__value;
}
JavaScript:
/**
* @description Getter function for 'data-tchmi-value' attribute.
* @returns {boolean}
*/
getValue () {
return this.__value;
}
Process method
The Process method is always called when the attribute value has been changed. The response to the value
changes is to be implemented in the process method. For example, depending on a Boolean value elements
can be switched visible or invisible, or a list can be created dynamically based on a transferred JSON object.
TypeScript:
/**
* @description Processor function for 'data-tchmi-value' attribute.
*/
protected __processValue() {
// process actions with Value
// ...
}
JavaScript:
/**
* @description Processor function for 'data-tchmi-value' attribute.
* @returns {void}
*/
__processValue() {
// process actions with Value
// ...
}
Functions
Framework control functions [} 1292] defined in Description.json must be defined and implemented in
Control.js/ts. The function must be named like the "name [} 1292]" of the function in Description.json.
TypeScript:
/**
* @description This is the call of the api function 'customFunction'.
*/
public customFunction(): void {
/**
* customFunction is defined in the description.json and called from outside.
* The api functions are shown in the graphical user interface of the engineering in Visual Studio
*/
JavaScript:
/**
* @description This is the call of the api function 'customFunction'.
* @returns {void}
*/
customFunction() {
/**
* customFunction is defined in the description.json and called from outside.
* The api functions are shown in the graphical user interface of the engineering in Visual Studio
*/
Within the function, any execution logic of the function can be implemented.
The functions enables a return value to be returned the calling point in Engineering. The data type [} 87] of
the return value is defined in Description.json under "type".
"functions": [
{
"name": "customFunction2",
"displayName": "customFunction2",
"visible": true,
"description": "This is a sample for a function that can be called by the engineering.",
"category": "Actions",
"params": [ ],
"type": "tchmi:general#/definitions/Boolean",
"heritable": false,
"searchterms": []
}
]
Within the function in Control.js/ts it is then possible to return a value of the corresponding type.
TypeScript:
/**
* @description This is the call of the api function 'customFunction2'.
*/
public customFunction2 (): boolean {
/**
* customFunction is defined in the description.json and called from outside.
* The api functions are shown in the graphical user interface of the enginnering in the twincat
*/
JavaScript:
/**
* @description This is the call of the api function 'customFunction2'.
* @returns {Boolean}
*/
customFunction2 () {
/**
* customFunction is defined in the description.json and called from outside.
* The api functions are shown in the graphical user interface of the enginnering in the twincat
*/
The function is implemented in Control.js/ts like a normal function. The parameter values are transferred with
the function call. The parameters must be checked for validity before they are used, similar to the attribute
setters [} 1308].
TypeScript:
/**
* @description This is the call of the api function 'customFunction3'.
*/
public customFunction3(functionParameter1: number, functionParameter2: boolean): void {
/**
* customFunction is defined in the description.json and called from outside.
* The api functions are shown in the graphical user interface of the enginnering in the twincat
*/
let convertedParameter1 = TcHmi.ValueConverter.toNumber(functionParameter1);
if (convertedParameter1 === null) {
// parameter is null: define what to do in this case
// exit function call if the execution without this parameter is not possible
return;
}
// exit function call if the execution without this parameter is not possible
return;
}
JavaScript:
/**
* @description This is the call of the api function 'customFunction3'.
* @param {number} functionParameter1
* @param {boolean} functionParameter2
* @returns {void}
*/
customFunction3(functionParameter1, functionParameter2) {
/**
* customFunction is defined in the description.json and called from outside.
* The api functions are shown in the graphical user interface of the engineering in Visual Studio
*/
var convertedParameter1 = TcHmi.ValueConverter.toNumber(functionParameter1);
if (convertedParameter1 === null) {
// parameter is null: define what to do in this case
// exit function call if the execution without this parameter is not possible
return;
}
// exit function call if the execution without this parameter is not possible
return;
}
Events
Framework control events defined in Description.json should be triggered in Control.js/ts. The name of the
event must be named like the "name [} 1293]" of the event in Description.json. An event can be triggered in
different situations, e.g. when a certain record changes (see ".onDataChanged [} 235]" in the data grid
[} 207]).
An event is triggered in Control.js/ts via the EventProvider of the framework. The framework API function
"EventProvider.raise()" is used for this purpose. When the event is triggered, the concrete control instance
must be identified with "this.__id".
// raise .onMyCustomEvent event
TcHmi.EventProvider.raise(this.__id + '.onMyCustomEvent');
Optionally, parameters can be passed to the event callbacks when the event is triggered.
// declare parameter: type anything
var myParameterObject = 42;
// raise .onMyCustomEvent event with event parameters
TcHmi.EventProvider.raise(this.__id + '.onMyCustomEvent', myParameterObject);
The response to the triggered events can take place in Engineering via the Properties window [} 58] or via
the registration of the event in a Code Behind file [} 1222].
Access rights
User-specific access rights [} 1295] defined in Description.json and configured in engineering [} 58] should
be checked and evaluated in Control.js/ts. Depending on the user-specific access rights [} 887], specific
elements can be switched visible or invisible or enabled or disabled, for example.
The evaluation of the configured access rights is performed via the framework API function
"TcHmi.Access.checkAccess()". The current instance of the control is passed to the function (this) and the
name of the right to be checked, which must correspond to the definition in Description.json.
// check user access of "myCustomRight" that is defined in the description.json
if (TcHmi.Access.checkAccess(this, 'myCustomRight') === true) {
// current user has the rights to do this
Since user management only works when authentication is active, the configured functions are not
available in normal live view. From version 1.12 a live view with authentication is offered.
CustomDatatype.Schema.json
Within a framework control project, user-specific and complex data types can be implemented if the data
type is not covered by a standard data type. In principle, any data structures can be transferred as objects
without the need for a user-specific data type. A user-specific data type is required if an editor is to be
provided for generating the data in Engineering. The data editor is generically based on a given JSON
schema.
The usage within the TypeScript/JavaScript file is described in a separate documentation section [} 1323].
Reference the schema file in Description.json under "dataTypes [} 1294]". Note that user-specific data types
are assigned to the "Framework" category.
"dataTypes": [
{
"schema": "Schema/TypeDefinitions/CustomDatatype.Schema.json"
}
]
You can then use the user-specific data type within Description.json.
"type": "tchmi:framework#/definitions/CustomDatatype
If the framework control is already referenced in an HMI project, a project build (see First Steps
[} 1225]) must then be executed and the HMI project reloaded so that the new data type is included
in the type descriptions of the HMI project.
Each JSON schema contains a definition that describes the data type ({DatatatypeName}). The definition of
the data type contains the specification (type) and the description of the data type through attributes
depending on the respective data type.
Objects
Objects can contain any properties. A property is described under Properties and can be refined through
optional metadata (propertiesMeta).
Explanations
propertiesMeta:
The metadata of the properties are optional. They describe the display within the generic data editor. The
metadata are described by the following properties:
• name {String}: Internal name of the property, see "name [} 1285]" in Description.json.
Note: The name must match the name under the properties.
• category {String}: Name of the category under which the property is displayed in the generic data
editor, see "category [} 1288]" in Description.json.
• displayName {String}: Name of the property displayed in the generic data editor, see "displayName
[} 1286]" in Description.json.
• displayPriority {Number}: Priority of the display, see "displayPriority [} 1287]" in Description.json.
• description {String}: Description of the property, see "description [} 1288]" in Description.json.
• defaultValue: Default value used initially in engineering, see "defaultValue [} 1290]" in
Description.json.
• defaultValueInternal: Internal default value, see "defaultValueInternal [} 1290]" in
Description.json.
properties:
The name and data type of the object properties are described under Properties. The name is determined by
the name of the property. The data type can be described as follows:
• type {string}: Default JSON data type of the property, or
• $ref {string, reference}: Reference to a framework data type. This can be implemented within the
project or taken from the existing data type descriptions of the framework.
required:
The required properties are listed under "required". The list is based on the internal name. If a property of the
object that is set to required is not set in Engineering, the generic data editor displays a warning.
Arrays
Arrays can be created from simple data types and complex objects.
Simple data types are specified within the "items" property under the "type" data type property. The following
schema defines an array of strings.
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"CustomDatatype": {
"$schema": "http://json-schema.org/draft-04/schema",
"title": "CustomDatatype",
"type": "array",
"items": {
"type": "string"
}
}
}
}
The generic data editor displays the array elements on the left-hand side under the name of the respective
data type (in the example: string). If a self-defined name is to be displayed instead, an object with a property
of the type of the data type must be selected instead of the simple data type, and the "displayName" of the
property must be set in the metadata.
Complex data types are specified in the property "items" under the reference property "$ref". The following
schema defines an array of objects of data type "CustomDatatype". This data type was previously
implemented as Object [} 1317].
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"MyArray": {
"$schema": "http://json-schema.org/draft-04/schema",
"title": "MyArray",
"type": "array",
"items": {
"$ref": "tchmi:framework#/definitions/CustomDatatype"
}
}
}
}
Furthermore, it is possible to describe the object directly within the array definition. The following schema
describes the same array with the definition of the object within the property "items".
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"MyArrayInlineObject": {
"$schema": "http://json-schema.org/draft-04/schema",
"title": "MyArrayInlineObject",
"type": "array",
"items": {
"type": "object",
"title": "CustomObject",
"description": "Defines a custom object in the array.",
"propertiesMeta": [
{
"name": "axisName",
"category": "Name",
"displayName": "Axis Name",
"displayPriority": 10,
"description": "",
"defaultValue": null,
"defaultValueInternal": null
},
{
"name": "axisColor",
"category": "Colors",
"displayName": "Axis color",
"displayPriority": 10,
"description": "",
"defaultValue": null,
"defaultValueInternal": {
"color": "#4794da"
}
}
],
"properties": {
"axisName": {
"type": "string"
},
"axisColor": {
"$ref": "tchmi:framework#/definitions/SolidColor"
}
},
"required": [ "axisName" ]
}
}
}
}
Both schema files generate the following generic data editor in Engineering.
Enumerations
Enumerations can contain any elements for the data type string. In the Engineering, enumerations are not
displayed in the generic data editor, but in the combo box in the Properties window. The permissible values
of the enumeration are defined in the property "enum" in an array.
The following schema defines an exemplary enumeration.
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"MyEnum": {
"$schema": "http://json-schema.org/draft-04/schema",
"title": "MyEnum",
"type": "string",
"enum": [ "MyValue1", "MyValue2", "MyValue3", "MyValue4" ]
}
}
}
The following schema defines an exemplary restriction of permissible values (oneOf). Only values that have
the data type "Time" or "TimeSpan" are permitted.
{
"$schema": "http://json-schema.org/draft-04/schema",
"definitions": {
"MyConstrainedDatatype": {
"$schema": "http://json-schema.org/draft-04/schema",
"oneOf": [
{
"title": "Time",
"$ref": "tchmi:general#/definitions/DateTime"
},
{
"title": "Timespan",
"$ref": "tchmi:general#/definitions/TimeSpan"
}
]
}
}
}
The display in Engineering is normally an attribute. However, only bindings to symbols that correspond to the
permitted data types can be created.
However, the information in the schemas cannot be used directly in TypeScript. To do this, a TypeScript
interface must be defined manually in your own source code.
A namespace must be added in parallel to module of the project name. The TypeScript interface can then
be defined here.
module TcHmi {
export module Controls {
export module FrameworkPrj1 {
export class FrameworkPrj1Control extends TcHmi.Controls.System.TcHmiControl {
// more here
}
}
registerEx('FrameworkPrj1Control', ...
}
}
The data type is now known under the name TcHmi.Controls.FrameworkPrj1.plcValue. Since the
control is in the same execution context (scope), the type with the identifier FrameworkPrj1.plcValue
can be accessed.
if (tchmi_equal(convertedValue, this.__value)) {
// skip processing when the value has not changed
return;
}
// remember the new value
this.__value = convertedValue;
// inform the system that the function has a changed result.
TcHmi.EventProvider.raise(this.__id + '.onPropertyChanged', { propertyName: 'Value' });
// call process function to process the new value
this.__processValue();
}
protected __processValue() {
if (this.__value) {
this.__value.CountDown; // known to TypeScript
Custom control administration objects can be defined and used in the same way.
For this purpose, the source code that deals with attribute handling [} 1308] must be adapted accordingly.
First an existing ObjectResolver has to be located. If successful, this will be destroyed. Then a new
ObjectResolver with the new object (which may contain the symbol expression) is created and saved. At the
same time a watch function is linked, which is called initially and when changes in referenced symbols
occur.
This watch function checks whether the control is currently visible. If this is not the case, the ObjectResolver
is put into a waiting state. If the control is made visible later, all ObjectResolvers are reactivated by the
system. If an error occurs, processing is aborted with an error message.
Processing is terminated when the new value is identical to the old value. If the value is changed, the new
value is saved, and the system is notified about the change and responds to it.
Instead of the generic type object, a more specific TypeScript type definition [} 1323] can be used.
protected __value: object | undefined;
/**
* @description Setter function for 'data-tchmi-value' attribute.
* @param valueNew the new value or null
*/
public setValue(valueNew: object | null): void {
// convert the value with the value converter
let convertedValue = TcHmi.ValueConverter.toObject<object>(valueNew);
if (resolverInfo) {
if (resolverInfo.watchDestroyer) {
resolverInfo.watchDestroyer();
}
resolverInfo.resolver.destroy();
}
this.__objectResolvers.set('value', {
resolver: resolver,
watchCallback: this.__onResolverForMyAttributeWatchCallback,
watchDestroyer: resolver.watch(this.__onResolverForMyAttributeWatchCallback)
});
}
/**
* The watch callback for the value object resolver.
*/
if (tchmi_equal(data.value, this.__value)) {
return;
}
this.__value = data.value;
this.__processValue();
};
public __processValue() {
// process actions with Value
// ...
}
Each custom control can be seen in the context of inheritance. All controls are at least derived from the base
control TcHmiControl. From this, each control inherits the base functionality such as positioning (including
Left [} 697], Top [} 697], Width [} 698], Height [} 699]) and the handling of the life cycle [} 1301].
Inheritance is defined in two places in a control. First in the attribute base [} 1281] in the metadata of
description.json. This inheritance is also defined in the TypeScript/JavaScript source code in the Base
framework [} 1303] of the control.
Methods and properties within the source code are marked in TypeScript either as public, protected or
private. Public resources can be used/accessed from any location. These are therefore part of the public
interface (API) of a control. Protected resources, on the other hand, are only intended for derived classes.
In contrast, private resources are really only accessible to the class itself.
In this example the API of the ControlFactory is used. When the control is created, the child control is
created and attached to its own representation.
By defining the parent, the child control is embedded in its own life cycle, so that the child control is
automatically managed at the same time.
In addition, an event handler is registered to respond to events of the child control. Note that this event
registry must be cleaned up in a dedicated Destroy action in order to fix a memory leak.
public __init() {
super.__init();
public destroy() {
if (this.__keepAlive) {
return;
}
if(this.__childOnPressedDestroyEvent){
this.__childOnPressedDestroyEvent();
}
super.destroy();
}
Child controls can also be embedded directly in the Template [} 1296] of a control. The same syntax is used
for this as is used in engineering to represent a control in code. The only difference is the {Id} placeholder,
which is replaced by the actual ID when the control is compiled.
It is mandatory to use the {Id} placeholder, otherwise it would be impossible to create more than one
instance of the control. The compilation of the second instance would run into an error because it would try
to create a control with a name already assigned.
<div class="TcHmi_Controls_Example-template">
<div id="{Id}_startAction" data-tchmi-type="TcHmi.Controls.Beckhoff.TcHmiButton"
data-tchmi-top="25" data-tchmi-left="250"
data-tchmi-width="200" data-tchmi-height="50"
data-tchmi-text="Start Action" data-tchmi-state-symbol="%s%PLC1.MAIN.testBool%/s%"
>
<script data-tchmi-target-attribute="data-tchmi-background-color" type="application/json">
{
"color": "rgba(55, 55, 55, 1)"
}
</script>
</div>
</div>
The instance of the child control can then be accessed in __previnit or __init of the control:
let button = Controls.get<TcHmi.Controls.Beckhoff.Button>(this.getId() + '_startAction');
16.2.2.3 Functions
A function consists of the file containing the source code and a JSON file with corresponding metadata.
These two files do not necessarily have to be created in a separate folder. Depending on the number of
functions, it may be useful to group them together in a folder.
A function can be created based on TypeScript or JavaScript. Both have the same technical options and are
very similar in terms of programming. Due to the better Visual Studio programming support offered by Visual
Studio, TypeScript should be selected for new functions.
To create a new function, right-click on the destination folder in the context menu and select Add new Item.
A file for TypeScript/JavaScript is now created, along with a file containing the matching metadata.
The files are identical to functions that can be created within an HMI project. We therefore refer to the
documentation for these functions [} 1218] here.
The metadata file must have a reference in Manifest.json [} 1275] within a framework package in order to be
able to use it.
17 Samples
17.1 Controls
17.1.1 Barchart
17.1.2 Combobox
17.1.3 Datagrid
17.1.5 Grid
17.1.6 Linechart
17.1.7 Scope
https://infosys.beckhoff.com/content/1033/TE2000_TC3_HMI_Engineering/Resources/9692424203/.zip
https://infosys.beckhoff.com/content/1033/TE2000_TC3_HMI_Engineering/Resources/9716796555/.zip
18 FAQ
18.1 General
Which system requirements do I need for the TwinCAT HMI?
An overview of the system requirements can be found in the system requirements. [} 18]
An overview of the recommended HTML5-capable browsers can be found in the system requirements [} 18].
Can I use projects from the TC3 PLC HMI (TF1800) in the TwinCAT HMI?
The use of projects created with the TC3 PLC HMI is not possible.
Is there a tutorial that will help me get started with TwinCAT HMI?
There are three different training courses for the TwinCAT HMI:
You will find an overview of the training courses and upcoming dates on our website.
An overview of the sample projects can be found in the chapter Samples [} 1328].
18.2 Server
How do I transfer the project to my target system?
Carry out the following steps to transfer the project to the target system:
1. Install the TwinCAT HMI Server (install TF2000) on the target system.
2. Start the TwinCAT HMI Server on the target system and assign an administrator password on the
configuration page of the server.
3. Perform a project publish [} 874] to the target system.
I have no access to the target system. Can I transfer the project offline?
A transfer of the project without access to the target system is possible. To do this, perform the following
steps:
4. Install the TwinCAT HMI Server (install TF2000) on the target system and on your engineering system.
5. Perform a project publish [} 874] on the TF2000 TwinCAT HMI Server on your engineering system.
6. Copy the entire contents of the folder:
7. Transfer the folder content to the target system (e.g. via USB stick).
8. Add the folder content to the following folder on the target system:
13. The server must then be restarted so that a new certificate can be generated. To do this, restart the
TcHmiSrv service or restart the current server instance via the configuration page.
The publish process failed due to a version difference. What can I do?
For a project publish, the server version (TF2000) on the target system must match the engineering version
(TE2000) (versions 1.8 and 1.10). Please observe the version overview [} 19].
If you have forgotten the password of the user "__SystemAdministrator", there are the following possibilities:
1. You have another user who is a member of the "__SystemAdministrators" group. Log in with this user
on the configuration page of the server and reset the password of the user "__SystemAdministrator".
2. Reset the server.
I cannot find the target server with the Discovery function in the Publish dialog. What can I do?
1. The password of the user "__SystemAdministrator" was not initialized. For security reasons, the server
cannot be found using the discovery function.
◦ Solution 1: Enter the IP address of the destination server under connection settings. Click
"Validate Connection". In this case, the dialog for initializing the "__SystemAdministrator"
password in engineering opens.
◦ Solution 2: Initialize the user "__SystemAdministrator" on the target server.
2. The password of the user "__SystemAdministrator" has not been initialized and the server has been
starting for more than five minutes. The server must be restarted for security reasons.
◦ Solution: Connect to the target system, restart the server and initialize the user
"__SystemAdministrator".
3. There are connection problems. Check the steps in the question below.
The TwinCAT HMI Server can only be started if a valid license is available on the target system. Activate a
license [} 23] on the target system.
A recommendation on this topic can be found in the chapter Autostart Client [} 877].
With version 1.12 the TwinCAT HMI Server is automatically started with the system startup via the
service TcHmiSrv.
How can I start multiple instances of the TwinCAT HMI Server on one system?
Since version 1.12, multiple server instances can be started on one system. This function is included in the
basic TF2000 license. The target and client licenses are shared among the server instances, so you need
licenses for the sum of all connected targets or clients.
10. Change the name of the instance at TcHmiSrv - General and confirm the changes by clicking on
Accept. Enter the name you used for the folder name here.
11. Repeat the procedure from steps 3 to 7 for additional server instances.
ð The server instances are now accessible via different ports.
In the future, a service management page will be provided in the TwinCAT HMI server which will
make it easy to create further instances.
18.3 Client
How can I access the HMI with a client?
After you have published a project on the server, you can access the system from any client. Open a
browser and enter the URL of the server. This usually consists of the IP address and the port number.
• http: http://127.0.0.1:1010
• https: https://127.0.0.1:1020
You can access the HMI from mobile end devices in the same way as from desktop PCs.
Some mobile browsers block connections with self-signed certificates. In this case, you can install the
certificate on the device:
If you do not want to install the certificate on the device and want to provide a general secure access from
mobile end devices, you can issue an official certificate of a CA and import it into the server.
The client can be started automatically. Some browsers also support starting in full screen mode. Information
on this topic can be found in the Autostart Client [} 878] chapter.
18.4 Communication
Which communication protocols does TwinCAT HMI support?
The TwinCAT HMI supports communication via ADS to TwinCAT systems [} 1011] and communication via
OPC UA to OPC UA servers [} 1017]. In addition, the TwinCAT HMI servers can exchange data with each
other via server-to-server communication [} 1197].
You can configure the connection to TwinCAT systems in the ADS extension. You will find instructions on
how to do this in the ADS chapter [} 1011]. The data points can then be used [} 104] in TwinCAT HMI.
In the OPC UA Client Extension you can configure connections to OPC UA Servers. Instructions can be
found in the chapter OPC UA Client [} 1017]. The data points can then be used [} 104] in TwinCAT HMI.
With the ADS extension and with the OPC UA client extension you can click on "Diagnosis" on the
configuration page of the server [} 880]. There you can view the current connection status.
Check whether a route to TwinCAT exists. The TwinCAT system must be in Run mode and the PLC must be
started.
I have transferred my project to the target server. Afterwards, no data points from the TwinCAT
system are displayed. The data points were displayed on the engineering system. What could be the
cause?
1. In the TwinCAT HMI Server, a distinction is made between local profiles and remote profiles [} 880].
With a project publish, [} 874] a remote profile (selected in the Publish dialog) is transferred to the tar-
get server. Check the connection settings of the ADS extension for the remote profile.
2. There are not enough target licenses on the target server. One target license is required per TwinCAT
system. Activate [} 23] additional target licenses.
I cannot transfer my project with OPC-UA-Client-Extension to the target system. What could be the
cause?
The OPC-UA-Client-Extension requires the license TF2110. Activate this license [} 23] on the target system
and run the project publish [} 874] again.
Can a TwinCAT HMI server communicate with another TwinCAT HMI server?
TwinCAT HMI servers can communicate with each other via server-to-server communication [} 1197].
18.5 Framework
How can I realize a page switching?
Page switching can be implemented via the control TcHmiRegion [} 755]. You will find instructions on how to
do this in the chapter Creating Navigation [} 41].
The development of user-specific controls in HTML5, JavaScript and CSS 3 is possible via so-called
"Framework Controls [} 1223]".
How can I integrate a Framework Control into other TwinCAT HMI projects?
A Framework Control can be exported as a package [} 957] via Package Management and installed [} 961]
in other TwinCAT HMI projects.
The one-day course TR7060 can be attended for the development of Framework Controls. The dates can be
found on our website.
The TwinCAT HMI Framework offers an API that can be used to implement many functions. The integration
of external web libraries is possible within a Framework Control. [} 1223] The external library must be
integrated into the Framework Control project. In the Description.json [} 1229] a reference [} 1234] to the
files of the library must be created.
I have created a Framework Control. This is not displayed in the TwinCAT HMI Designer or in the
LiveView. What could be the cause?
JavaScript is an interpreted scripting language, therefore syntax errors etc. can only be detected at runtime.
Such an error may result in the Control not being displayed in the Designer or LiveView. The developer tools
[} 1343] of the browsers offer a possibility for diagnosis. These developer tools also allow you to debug a
control.
19 Appendix
0x501 1281 0x98110501 ROUTERERR_RESIZEMEMORY The router memory size could not be changed.
0x502 1282 0x98110502 ROUTERERR_MAILBOXFULL The mailbox has reached the maximum number of
possible messages.
0x503 1283 0x98110503 ROUTERERR_DEBUGBOXFULL The Debug mailbox has reached the maximum num-
ber of possible messages.
19.2 Troubleshooting
The product version number can be found via the Systray icon, the Visual Studio menu Help > About or
under Programs in the Windows Control Panel. Additional information is required:
• Visual Studio Version
• Operating system
• Windows error reports (if any)
• Console errors (if any)
If the Appdata folder is not visible, the hidden files are hidden.