> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/function-blocks/blocks-reference/data-logic/logic/or.md).

# 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.
