1. Create a project and assemble the cell
On the ENCY Hyper home page, select New project > Create in MachineMaker to create your own robotic cell.

In MachineMaker, assemble the cell using the mechanisms required for your task. This example uses a robot, a gripper, and a table. Export the completed cell to ENCY Hyper.

2. Add objects and trays in Cell mode
The project opens on the Cell tab. Here you can add objects and define trays with points for locating parts on tables or at other positions in the cell. Add a tray with 3 rows and 3 columns to the table imported from MachineMaker. Then add a second table directly in ENCY Hyper and give it another nine-point tray. One tray will hold the parts to be picked; the other will receive them. See Cell Mode for details.

3. Define and place the parts
On the Parts tab, use Add part to create a box or cylinder, or use Import to load your own 3D model. Configure the gripping settings for each part: Pick point defines how the tool grips it, while Base point defines the reference point used to position it on a tray. This example uses a cylinder.

After creating the part, place it at a tray point with the left mouse button. To fill the entire tray, press and hold the left mouse button on a point in that tray, then select Yes in the confirmation dialog. Fill the source tray and leave the destination tray empty.

4. Build the program
Switch to Programming, the main workspace for defining and checking the robot program. Click the + button to open the command list.

- MOVE — moves the robot to a point using joint or linear motion.
- MOVE EXT — moves external axes.
- MOVE SYNC — moves mechanisms in parallel.
- TRAJECTORY — imports a machining trajectory from a CAM system.
- PICK — picks up a part from a selected location.
- PLACE — releases a part at a selected location.
- WELDING — performs a welding operation.
- GLUING — applies adhesive along the specified path.
- POLISHING — polishes a surface along a path.
- FASTENING — fastens a part.
- IF GOTO — branches to another program step when a condition is met.
- ACTION — triggers an input/output action.
- WAIT — pauses execution for a specified time.
- NAILING — performs a nailing operation; listed under Legacy.
Set the initial and final robot positions
Begin with MOVE, which can also be configured within the START and END steps to define the robot's initial and final positions. Select the corresponding step and use the robot movement controls on the right to set the required position. The screenshot highlights START, END, and the robot movement controls.

5. Configure the Pick operation
Add a PICK operation and select the source tray. Use Single element to choose whether the operation handles one part or the whole tray. Turn it off to work with all parts in the selected tray; turn it on to pick a single part. For this example, leave it off.

The Pick operation provides settings for part selection, gripping, robot configuration, and approach and retract movements:
- Main Pick settings. Select the tool's TCP and the source tray. Set Order to choose the picking sequence, Preferred part to select a part type when needed, and Pick point to choose the gripping point defined for the part.
- Pick position adjustment. Use the Pick position controls to adjust the robot pose manually and refine how the tool approaches the part.
- Fix. Use this option in the robot configuration settings to correct an unsuitable joint configuration when the robot's axes fold into an undesirable pose.
- Avoid collisions. Enable this option for the relevant movement segments so that trajectory calculation plans a path around obstacles. Use Safe Path to calculate movements with collision avoidance enabled.
- Safe move distance. Set the clearance distance for the robot's approach to and withdrawal from the pick point. Adjust the safe move direction and speed as needed for the part and surrounding objects.
For detailed command settings, see Programming Mode.
For the Place command, simply select the target cell using the left mouse button where the parts will be placed.

The IF command allows the program to loop the preceding commands and properly terminate them. In this case, we specify that if all parts have been removed from the table, the robot returns to its Home position.

When your program is ready, you need to calculate it before starting the simulation. Use the Recalculate button for this. You will visually see the trajectory along which your robot will move the parts.

6. Simulate the program and check the gripper
Use the simulation slider on the right side of the screen to start the simulation and adjust its speed. The percentage markings indicate the simulation speed.

During simulation, you can see that the gripper jaws do not close around the part. To correct this, configure the gripper's opening and closing actions in Project settings.
Assign the opening and closing actions
Open Project settings > End effector parameters, select your tool, and open its gripper settings. In this example, the path is Composite end effector > Grippers > My TCP. Assign TCP - Open to Open IO and TCP - Close to Close IO.

Configure the IO signals and linked gripper axis
Go to Project settings > IO and select TCP - Open. Open its Input and Output sections and use Add to create an item in each. Configure the signal and the associated gripper axis:
- Input number / Output number — the input or output signal number used by the action.
- Value — the expected input value or the value sent to the output.
- Linked axis — the tool axis associated with the signal.
- Linked axis value — the axis value corresponding to the required gripper position.
The combined illustration shows the Input settings above and the Output settings below. In this example, both use signal number 0, signal value 1, and linked axis value 50 for the open position. The IO signal and linked axis values shown here are illustrative only. Actual production equipment may require different values. Configure them to match the signals and gripper positions used by your robot and tool.

Repeat the same procedure for TCP - Close: add and configure its Input and Output items, specifying the signal parameters and the linked axis value for the closed gripping position. Click Apply to save the settings.
Run the simulation again. The gripper now responds to the opening and closing signals, moving its fingers to grip and release the parts during the Pick and Place sequence.

7. Connect to the robot in Run mode
Switch to the Run tab to connect to the physical robot. Before connecting, open Project settings > Main > Robot driver settings and set the robot's IP address to match your robot controller.
Return to Run and click Offline at the top of the screen to establish the connection. Once the robot is connected, the button changes to Online.
