# Or

This function block performs a logical OR operation on boolean signals. Use it when you need the output to be TRUE if any of the input signals are TRUE.

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

* `Boolean` Accepts a boolean signal (default: two boolean sockets).
* `Boolean` Accepts a boolean signal (default: two boolean sockets).

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

* `Boolean` The result of the OR operation (TRUE if any input is TRUE).

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

This block has no interactive controls.

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

* Simple logical OR operation for combining boolean signals.
* Default setup provides two boolean input sockets to keep UI clear and simple.
* Use in control flows, alarm logic, or decision-making branches where multiple conditions may enable the same outcome.

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

1. Connect boolean-producing blocks (for example a manual switch or comparison block) to the input sockets.
2. Read the combined result from the `Boolean` output. The output will be TRUE if at least one input is TRUE.
3. Use the output to drive actuators, indicators, or further logic blocks.

## 📊 Evaluation <a href="#evaluation" id="evaluation"></a>

When evaluated, the block checks the boolean values on its input sockets and returns a single boolean result that represents the logical OR of all provided inputs.

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

* Combine with comparison blocks such as `Greater`, `Smaller`, or `Equals` to convert numeric checks into boolean signals before merging them with `Or`.
* Use `Logic Input` for manual on/off controls and feed multiple manual signals into `Or` to create a single enable signal.
* Use `And` and `Not` together with `Or` to build more complex boolean expressions (for example: (A AND B) OR (NOT C)).
* To react to signal changes rather than levels, pair `Or` with edge/temporal helpers like `Edge Rising` or `Delay Step`.
* To latch or hold results based on conditions, combine `Or` with `Set - Reset`.
* Use `Debug Input` to log or inspect incoming boolean signals during troubleshooting.
* Drive indicators or outputs using the result from `Or` with blocks like `Led Output` or `Output` to visualize or export the logical result.

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

* Unexpected FALSE result: Verify all input sockets are receiving boolean signals. Use `Debug Input` to inspect each upstream signal.
* Floating or missing inputs: Ensure connected blocks provide valid boolean values; unconnected inputs may be treated as FALSE depending on your setup.
* Timing issues: If inputs change quickly and the result appears unstable, add `Delay Step` or use edge detection blocks like `Edge Rising` to stabilize logic transitions.


---

# 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/data-logic/logic/or.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.
