# HMI Background

This function block provides a large, resizable visual canvas intended for building Human-Machine Interface (HMI) layouts inside your scenario. It acts as a background graphic where you can place and organize interactive blocks and visual elements to create a dashboard-like interface.

## 📥 Inputs <a href="#inputs" id="inputs"></a>

This block does not have any inputs.

## 📤 Outputs <a href="#outputs" id="outputs"></a>

This block does not have any outputs.

## 🕹️ Controls <a href="#controls" id="controls"></a>

`Resize` Adjust the block size in the editor to fit your desired HMI layout area.

`Background Canvas` The visual area where you arrange and preview other HMI elements and visual blocks.

## 🎨 Features <a href="#features" id="features"></a>

* Visual-only background for laying out HMI screens and dashboards.
* Resizable canvas so you can design compact or expansive interfaces.
* Designed to host and visually organize other blocks and display elements (images, text, indicators) for operator panels and demos.
* Lightweight: it does not process image or sensor data itself; it exists to structure and present other blocks.

## ⚙️ Running mechanism <a href="#running-mechanism" id="running-mechanism"></a>

* This block does not produce data or perform computations during scenario runs.
* Its purpose is purely graphical and organizational: use it to visually group and position interactive and output blocks that do produce data when the scenario runs.
* Because it is visual-only, placing heavy processing elements inside the same visual area does not change the background’s behavior—processing still happens in the connected function blocks.

## 📝 Usage <a href="#usage" id="usage"></a>

1. Add the `HMI Background` block as a canvas for your interface.
2. Resize the block to match the screen area you want to design.
3. Place display and control blocks over the background to build your HMI layout (for example, image viewers, text overlays, buttons, and indicators).
4. Use structural blocks to keep logic behind the interface tidy and reusable.

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Group logic and presentation: Use `Subsystem`, `Subsystem In`, and `Subsystem Out` to keep the processing logic separated from the visual layout placed on the background.
* Visualize camera feeds: Combine with `Show Image` to display live camera frames on the HMI canvas.
* Add status indicators and labels: Use `Write Text On Image` and `Led Output` to show dynamic text and boolean status indicators on top of displayed images.
* Provide user controls: Place `Logic Input`, `Number Input`, or `String Input` blocks near the related displays so operators can interact with the scenario.
* Save evidence and logs: Use `Image Logger` or `Record Video` (when available) together with displayed images to archive important frames triggered from your HMI.
* Keep UI responsive: Place only visualization and input blocks on the background. Heavy processing (detection, segmentation, tracking) should remain in separate functional blocks.

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* Background not visible or too small: Try increasing the block size with the `Resize` control.
* Layout feels cluttered: Use `Subsystem` blocks to collapse and hide complex logic while keeping the HMI canvas clean.
* Slow editor interaction: Remove or relocate heavy processing blocks out of the immediate visual area; keep the background focused on presentation and control elements.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/function-blocks/blocks-reference/data-logic/flow-control/hmi-background.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
