HMI – Human-Machine Interface Configuration

Block SymbolLicensing group: STANDARD

Function Description
The HMI block is a so-called "pseudo-block" which stores additional settings and parameters related to the Human-Machine Interface (HMI) and the contents of the internal web server. The only file where the block can be placed is the main project file with a single EXEC block.

The REXYGEN system currently provides three straightforward methods of how to create Human-Machine Interface:

  • WebWatch is an auto-generated HMI from the REXYGEN Studio development tool during project compilation. It has similar look, attributes and functions as the online mode of the REXYGEN Studio development tool. The main difference is that WebWatch is stored on the target device, is available from the integrated web server and may be viewed with any modern web browser or any application that is compatible with HTML, SVG and JavaScript. The WebWatch is a perfect tool for instant creation of HMI that is suitable for system developers or integrators. It provides a graphical interaction with almost all signals in the control algorithm.
  • WebBuDi, which is an acronym for Web Buttons and Displays, is a simple JavaScript file with several declarative blocks that describe data points which the HMI is connected to and assemble a table in which all the data is presented. It provides a textual interaction with selected signals and is suitable for system developers and integrators or may serve as a fall-back mode HMI for non-standard situations.
  • RexHMI is a standard SVG file that is edited using REXYGEN HMI Designer. The REXYGEN HMI Designer is a great tool for creating graphical HMI that is suitable for operators and other end users.

The IncludeHMI parameter includes or excludes the HMI files from the final binary form of the project. The HmiDir specifies a path to a directory where the final HMI is located and from where it is inserted into the binary file during project compilation. The path may be absolute or relative to the project. The GenerateWebWatch specifies whether a WebWatch HMI should be generated into HmiDir during compilation. The GenerateRexHMI specifies whether a RexHMI and WebBuDi should be generated into HmiDir during compilation.

The logic of generating and including HMI during project compilation is as follows:

  1. Delete all contents from HmiDir when GenerateWebWatch or GenerateRexHMI is specified.
  2. Generate RexHMI and WebBuDi from SourceDir into HmiDir if GenerateRexHMI is enabled. All WebBuDi source files should be named in a *.hmi.js format and all RexHMI source files should be named in a *.hmi.svg format. The generated files are then named *.html.
  3. Copy all contents from SourceDir except WebBuDi or RexHMI source files into HmiDir if IncludeHMI is enabled.
  4. Insert HMI from HmiDir into binary configuration if IncludeHMI is enabled.

The block does not have any inputs or outputs. The HMI block itself does not become a part of the final binary configuration, only the files it points to do. Be careful when inserting big files or directories as the integrated web server is not designed for massive data transfers. It is possible to shrink the data by enabling gzip compression. The compression also reduces amount of data transferred to the client, but decompression must be performed by the server when a client does not support gzip compression, which brings additional load on the target device.

For a proper operation of the HMI block the compilation must be launched from the REXYGEN Studio development tool and the REXYGEN HMI Designer must be installed.



Include HMI files in the project  on



Output folder for HMI files  hmi



Source directory  hmisrc



Generate WebWatch HMI files  on



Generate HMI from SVG and JS files  on



Web server will automatically redirect to HMI webpage if enabled otherwise it will serve a standard home page as a starting page.  on



Enables data compression in gzip format.


2022 © REX Controls s.r.o.,