Control
Control is the basic execution unit of algorithm blocks, consisting of a condition area and an action area. When the condition area is met, the actions in the action area execute sequentially. After all actions are completed, the system checks whether the condition area is met again.

The condition area can contain conditions and condition groups, while the action area can contain actions, action groups, and controls.

Nested structures are supported, enabling easy creation of complex configurations.

When multiple controls exist in a single logic, controls execute sequentially. After all controls have completed execution, they restart from the beginning.

Add
If no blocks have been added to the logic, click [+ Add] -> [Control] in the upper right corner to add a control.

If blocks already exist in the logic, you can add control blocks using the following methods:
- Add inside a control or control group


- Add above or below blocks in controls, control groups, or action areas


[Enable]
Sets whether to use the control. Disabled controls will not execute.

[Name]
Enter the display name (max 20 characters). Any name can be used.

[Conditional Operator]
Operator for when multiple conditions or condition groups exist in the condition area. If only one condition exists in the condition area, set to default value.

- AND : Actions execute only when all conditions or condition groups in the condition area are met.

- OR : Actions execute when at least one of the conditions or condition groups in the condition area is met.

[Conditional Option]
Options to apply to the condition area.

- None : Condition is met when true, not met when false.
- Invert : Condition is not met when true, met when false.
- Rising Edge (Moment True) : Condition is met only at the moment it changes from false to true. e.g., The moment a push button is pressed
- Falling Edge (Moment False) : Condition is met only at the moment it changes from true to false. e.g., The moment a push button is released
- Hold Time (True Duration): Condition is met once when it remains true for the specified hold time. The hold time resets to 0 if the condition is met or becomes false during the hold period. e.g., When a push button is held for 3 seconds
- Count (True Events): The count increases by 1 each time the condition changes from false to true. The condition is met once when the count reaches the specified value. The count resets to 0 if the condition is met or if the timeout period expires without being met. e.g., When a push button is pressed 3 times
[Hold Time]
Enter the hold time. Only displayed when [Conditional Option] is “Hold Time (True Duration)”.

[Count]
Enter the count. Only displayed when [Conditional Option] is “Count (True Events)”.

[Timeout]
Enter the timeout. Only displayed when [Conditional Option] is “Count (True Events)”.

[Timeout Mode]
Select the timeout mode. Only displayed when [Conditional Option] is “Count (True Events)”.

- Interval Time: The interval between moments when the condition becomes true must be within the timeout time. Example: Pressing a push button 3 times with intervals shorter than 1 second.
- Total Time: The total time from when the condition first becomes true until all required counts are met must be within the timeout time. Example: Pressing a push button 3 times total within 5 seconds from the first press (including the first press).
[Priority]
Sets the priority of the control. Lower numbers have higher priority. This setting is only used when the control is included in a control group with priority mode enabled. If not applicable, this field can be left empty.

[Reverse Execution Order]
Sets the execution order of child blocks in reverse. If false, executes from top to bottom; if true, executes from bottom to top.

Move
Click and drag the control to the desired position.

Edit
Right-click and select [Edit] from the context menu to edit the control.

Duplicate
Right-click and select [Duplicate] from the context menu to duplicate the control. The duplicated block is created at the bottom of the same level.

Delete
Right-click and select [Delete] to delete the control. All blocks contained in the control will also be deleted. Note that deleted blocks cannot be recovered.
