# Connect Techman to Wandelbots NOVA

> Learn how to connect Techman robots to Wandelbots NOVA. Follow step-by-step setup instructions, safety guidelines, and supported controller requirements for reliable integration.

> **Info:** Wandelbots NOVA includes a real-time kernel and `robot-realtime` tuned profile by default to meet the latency and jitter requirements of KUKA controllers and avoid RSI disconnects.

Using a Techman robot with Wandelbots NOVA offers a wide range of possibilities for automating your production processes.
There are 3 things you need to know before you start:

Which Techman controller types and models are supported by Wandelbots NOVA?

[Supported models](#supported-models)

Wandelbots NOVA provides you with virtual controllers for path planning, app development and simulation purposes.

[Use virtual controller](#use-virtual-controller)

You can connect your Techman controller to Wandelbots NOVA for real-world automation.

[Set up and connect Techman controller](#set-up-and-connect-techman-controller)

## Supported models

### Controllers

| Controller | Supports | Requirements |
| - | - | - |
| HW 5.0 | cobot | Firmware: TMFlow >= 2.22.0 |

### Motion groups

#### Robotic arms

**Industrial robots**

| Robot arm |
| - |
| TM12S |
| TM20 |
| TM20S |
| TM25S |
| TM30S |
| TM30SC |
| TM5S |
| TM6S |

## Use virtual controller

### Step 1: Open the home screen

Open your cloud instance via NOVA Cloud or type in your physical instance's/virtual instance's IP address to access the home screen.
Get an overview on the home screen and its functionalities [here](/nova/26.7/architecture).

### Step 2: Create a cell in Setup

Open Setup and go to the `Cell` tab.

### Step 3: Add robot to your cell

If you want to start using the Wandelbots API, do so now and [add a robot via the Wandelbots NOVA API](/nova/26.7/nova-api/overview#add-a-robot-to-the-cell).

OR add a robot to your cell in Setup:

1. Open the `Robots` tab.
   → The robot overview is displayed.
2. Click [Add] to add a robot to your cell.\
   → A drawer opens guiding you through adding a robot.
   If the [Add] button is greyed out, your license might not support adding more robots. Please contact your administrator.
3. Select the robot type `Virtual`.
   → The drawer updates to display options for adding a virtual robot.

> **Info:** Adding a physical robot will only work after [successful setup](#set-up-and-connect-techman-controller).

4. Name the robot.
5. Select `Techman` as manufacturer.
6. Select the desired robot model.
7. `Add` the robot to the cell.
   → A progress indicator is displayed while the robot is being added to the cell.
   → The robot is displayed in the cell overview.

### Step 4: Add a TCP

To replicate a physical robot's behavior accurately, you can define TCPs for virtual robots in the Setup app.

1. Click on the robot.
   → A drawer opens displaying the robot details.
2. Open the `TCP` tab.
   → The TCP tab displays all existing TCPs of the robot.
   → For physical robots, the TCP tab presents an overview on all existing TCPs on the physical robot controller.
   You cannot add TCPs for physical robot controllers in Setup as these need to be configured on the robot controller.
3. Use [Add] to add a new TCP.
   → Options to add a new TCP are displayed.
4. Define the TCP's translation and rotation relative to the robot's [flange](/nova/26.7/nova-api/core-concepts/robotics-basics#robot-flange).
5. Save the new TCP.
   → The new TCP is displayed in the TCP tab and can be selected in Robot Pad.

Congrats! You can now start to plan paths and simulate! Open Robot Pad from the home screen of your instance and get started ✨.

## Set up and connect Techman controller

Cloud instances are not suited to control a physical robot and you need to use a VM or use an IPC instead.
More information on available NOVA instance types [here](/nova/26.7/installation/installation#instance-types).

### About setup instructions

The provided setup instructions do not replace a thorough understanding
of the robot manufacturer's original operating instruction and only apply to the supported models mentioned above.

The setup instructions include the following steps:

1. Preparing the robot controller for the connection with Wandelbots NOVA.
2. Physically connecting the IPC to the robot controller.
3. Configuring the IPC to establish communication with the robot controller.
4. Using the Techman controller on Wandelbots NOVA.
5. Troubleshooting common issues that may arise during the setup process.

In order to connect the Techman controller to Wandelbots NOVA,
Wandelbots NOVA needs to be integrated into the robotic cell according to these [cell designs](/nova/26.7/setup/cell-design).

Ensure that the Techman controller you're about to connect to Wandelbots NOVA is listed in the [supported models](#supported-models) section.

Note that setting a correct mounting pose in the robot controller is crucial, especially for cobots, as they are sensitive to gravity direction.

### Qualified user groups

Preparing a controller for the use of Wandelbots NOVA is a task that requires a certain level of expertise.
The following instructions are intended for qualified user groups only.

> **⚠️ CAUTION:** **Danger in case of insufficient qualification of users**
>
> People can be injured if unqualified user groups set up the physical robot environment.
>
> - Only qualified user groups designated by the operating company may set up the physical robot environment.
> - Keep unqualified user groups away from the area of risk.

If a high experience level, e.g. admin user, is recommended to complete the step, the following label will be displayed next to the header:

[Admin]

### Step 1: Prepare the Techman controller [Admin]

1. Turn on the robot controller adhering to the robot manufacturer's original operating instructions.
2. Connect your TMflow machine to the robot or access TMflow directly on the robot.

> **Info:** You can choose between installing TMflow on **your windows machine** (via [TM download center](https://www.tm-robot.com/support/download-center)) and connecting it via an ethernet cable to the robot, or using the built-in TMflow UI on the **robot controller**.
> To use the latter, just connect a keyboard, mouse and display to the robot controller.

3. Log into TMflow with your administrator credentials. The default credentials are `Administrator` and an empty password.

> **Warning:** Only one user can be in control of the robot at a time. Make sure that no one else is logged into the robot controller i.e. from another machine.

4. In the upper right corner, click on the TMflow icon. Verify that the installed TMflow version is >= 2.22. Upgrading to the latest version is recommended in any case.
5. Switch the robot to **manual mode**.

> **Info:** To switch between operation modes, hold the `M/A` button on the robot stick until you hear a beep. Then enter your
> password (the default is `+-++-`) using the buttons on the robot stick. Finally press `M/A` twice to confirm.

6. Create a backup of the robot controller ([Menu] → [Settings] → `System` → `Backup and Restore`). The backup can take more than 10 minutes depending on the amount of data stored on the controller.
7. Make sure all safety precautions are taken.

#### Get overview on Techman interfaces

Wandelbots NOVA communicates with the Techman controller through several TCP-based interfaces.
Each interface serves a different purpose and uses its own protocol abbreviation:

| Interface | Protocols | Purpose |
| - | - | - |
| Ethernet Slave | TMSVR | Read and write robot variables and metadata (port 5891). |
| Real-Time Remote Server (RTRS) | TMRTS, TMRTC | Real-time state streaming (TMRTS, port 5895) and real-time motion control (TMRTC, port 5896). |
| External Script  | TMSCT, TMSTA | External TMScript execution (TMSCT, default port 5890) and status queries (TMSTA). |
| EIH Camera | gRPC | Access the built-in eye-in-hand (EIH) camera for image capture and vision features (port 15567). |

> **Info:** All interfaces need to be enabled on the controller before Wandelbots NOVA can connect.
> The following steps guide you through enabling each one.

#### Get overview on network interfaces

The Techman controller uses two separate network interfaces for different purposes.
During setup, you need to configure both IP addresses.

| IP address / Interface | Purpose | Defined by |
| - | - | - |
| Controller IP | Network interface used for TMSVR, TMSCT, and EIH Camera; for `HW 5.0` served on LAN-0 and LAN-1 ports. These IP addresses are shown in TMflow under [Menu] → [Settings] → System → Network → Port 0/1. | User during Techman setup |
| RTRS IP | Dedicated interface for real-time state streaming (TMRTS, port 5895) and real-time motion control (TMRTC, port 5896) served on LAN-2 port. Configured under TMflow → [Menu] → [Settings] → Configuration → Remote Control Settings → RTRS → Static IP. | User during Techman setup |
| IPC's company network IP | IP address used to access the IPC in the company's network. Different subnet than the robot interfaces. Usually assigned automatically via DHCP, depending on the company network setup. | The company network (usually DHCP) |
| IPC's robot network IP | IP address(es) on the IPC used to communicate with the Techman controller. Must be reachable on the controller and RTRS subnets (same or different depending on topology). | User during IPC setup |

> **Warning:** Ethernet Slave / External Script and RTRS are served on **separate network interfaces** at the control box side.
> When using a **network switch**, configure both in the same subnet.
> When using a **direct connection** with two cables, configure them in different subnets (one per IPC LAN port).

#### Set the controller IP address

1. In TMflow, navigate to [Menu] → [Settings] → `System` → `Network` → `Port 0/1`.

> **Info:** You can use either Port 0 or Port 1, but keep consistent once you settled for one.

2. Configure the controller's first IP address, e.g. `192.168.1.10`.
3. Set the subnet mask to `255.255.255.0`.

#### Enable the EIH Camera interface

The built-in eye-in-hand (EIH) camera exposes a gRPC interface on port 15567 that Wandelbots NOVA can serve for you.

1. To access the `Vision Settings` menu item, [External Script](#enable-external-script-tmsct) and [RTRS](#enable-the-rtrs-interface-tmrts-and-tmrtc) have to be turned off.
2. On the teach pendant, navigate to [Menu] → [Settings] → `Vision Settings` → `Services` → `EIH Camera API`.
3. **Enable** the EIH Camera interface.

> **Info:** The EIH Camera listens on port **15567** (gRPC). This port is fixed and cannot be changed.

#### Enable the Ethernet Slave interface (TMSVR)

The Ethernet Slave interface (TMSVR, port 5891) is used by Wandelbots NOVA to read and write robot variables and metadata.

1. On the teach pendant, navigate to [Menu] → [Settings] → `Configuration` → `Communication` → `Ethernet Slave`.
2. **Enable** the Ethernet Slave by checking the `Enable` checkbox.
3. (Optional/Advanced) Configure the **IP Filter** to allow connections from the IPC's IP address range:
   - Add the IP range that includes your [IPC's robot network IP](#ipc-robot-network-ip) address. Setting this IP is part of '[Configure the IPC's network settings](#configure-the-ipcs-network-settings)'.
   - Enable **Write Permission** for this IP range so that Wandelbots NOVA can write variables to the controller.

> **Info:** The Ethernet Slave listens on port **5891** (TCP).

#### Enable the RTRS interface (TMRTS and TMRTC)

The RTRS (Real-Time Remote Server) interface provides real-time state streaming (TMRTS, port 5895) and real-time motion control (TMRTC, port 5896). Currently only real-time state streaming is required to operate the robot.

1. On the teach pendant, navigate to [Menu] → [Settings] → `Configuration` →`Remote Control Settings` → `Command Interface` → RTRS.
2. Set the RTRS network to **Static IP** and configure the IP address, e.g. `192.168.1.11`.
3. Set the subnet mask to `255.255.255.0`.
4. **Enable** the RTRS interface by checking the `Enable` checkbox.
5. **Restart** the robot controller to apply changes.
   - **Shutdown** the robot controller via [Menu] → [Power] → `OK`.
   - **Start** the robot controller via [Power]-Button on the robot stick.

> **Info:** TMRTS listens on port **5895** and TMRTC on port **5896** (both TCP). These ports are fixed and cannot be changed.
> After a restart, the RTRS interface starts automatically.

#### Enable External Script (TMSCT)

The TMSCT interface (default port 5890) allows Wandelbots NOVA to send TMScript commands to the robot.

1. On the teach pendant, navigate to [Menu] → [Settings] → `Configuration` →`Remote Control Settings` → `Command Interface` → `TMScript`.
2. Make sure `Print received data in log` is turned **off**.

> **Info:** Wandelbots NOVA will send a lot of commands to the robot, and printing all received data will overwhelm the log.

3. **Enable** the TMSCT interface by checking the `Enable` checkbox.

> **Info:** The default TMSCT port is **5890**, but the actual port may vary depending on your controller and setup.
> Always verify the port shown in the **Notice Log** that you can expand by clicking in the [Web Asset] icon bottom left corner of TMflow. Look for a log "Listen opens on `<controller-ip>:<tmsct_port>`".
> If the port differs from 5890, you need to specify it when [adding the robot](#use-techman-controller-on-nova) in Wandelbots NOVA.

### Step 2: Connect IPC to the Techman controller [Admin]

The Techman controller has two LAN ports that serve different interfaces: the controller IP (TMSVR, TMSCT, EIH Camera) and the RTRS IP (TMRTS, TMRTC). The network topology determines whether these need to be in the same or different subnets.

**Via network switch**

Use this setup when the IPC has a single available LAN port or when other devices also need access to the robot network.

1. Connect an ethernet cable from an IPC's LAN port to a network switch.
2. Connect an ethernet cable from the switch to the Techman controller's **LAN-0** port (controller IP).
3. Connect a second ethernet cable from the switch to the Techman controller's **LAN-2** port (RTRS IP).

> **Info:** In a switch setup, the controller IP and the RTRS IP should be in the **same subnet** since all traffic flows through a single link from the IPC.

**Direct connection**

Use this setup when the IPC has two available LAN ports and no switch is needed.

1. Connect an ethernet cable from the IPC's first LAN port to the Techman controller's **LAN-0** port (controller IP).
2. Connect a second ethernet cable from the IPC's second LAN port to the Techman controller's **LAN-2** port (RTRS IP).

> **Info:** In a direct connection setup, the controller IP and the RTRS IP must be in **different subnets** since they are on separate physical links from the IPC.
> Configure each IPC LAN port with an IP address matching the respective subnet.

### Step 3: Configure the IPC's network settings

1. Open `https://<ipc-ip-address>:9090`, e.g. `https://172.345.538.2:9090`, in a browser on your personal computer.\
   If the IPC is not connected to the same network as your personal computer, you can connect a keyboard, a mouse and a display to the IPC. Then open `localhost:9090` in a web browser.

   > **Warning:** Only one personal computer is allowed to connect to the instance's IP address.
   > In case multiple personal computers control a physical robot, e.g. via API and the RobotPad, simultaneously, the robot will not move.
   >
   > - Close all applications on other personal computers and try again.
   > - Unplug the robot's ethernet cable from the physical instance and wait a couple of minutes to restart Wandelbots NOVA foundation services. Plug it into the LAN port again and try again.
2. Log in with the user credentials created during the Wandelbots NOVA installation.\
   → The IPC's settings are displayed.
   → A popup prompts you to enable administrative access.
3. Enable administrative access and enter the admin password.
4. Select the Network tab in the sidebar.\
   → The IPC's network settings are displayed.
5. Toggle the button next to the LAN port connected to your robot network to enable network activity.
   > **Info:** To find out which LAN port the robot is connected to, you could i.e. observe which physical LAN port does **not** report `Not Available`. In the simplest case where you only have one LAN port occupied by the robot network, this is the correct one.
6. Click `edit` next to the IPv4.\
   → The IPv4 menu opens.
7. Set the address dropdown to `Manual`.
8. Set the prefix to 255.255.255.0 (will automatically change to 24).
9. Delete the prefilled gateway value.
10. Create an IP address in the same subnet as the Techman controller, e.g. `192.168.1.55`.
11. Save the settings.

> **Info:** If using the **direct connection** setup with two cables, configure the second IPC LAN port with an IP address in the **RTRS subnet** (different from the controller subnet).
> For example: IPC LAN-1 = `192.168.1.55` (controller subnet), IPC LAN-2 = `192.168.2.55` (RTRS subnet).

Wandelbots NOVA can now connect to the robot.

### Step 4: Use Techman controller on NOVA

1. Type in your physical instance's IP address to access the home screen.
   → The home screen is displayed.
2. Open Setup and go to the `Cell` tab.
   → The cell overview is displayed.
3. Open the `Robots` tab.
   → The robot overview is displayed.
4. Click [Add] to add a robot to your cell.\
   → A drawer opens guiding you through adding a robot.
   If the [Add] button is greyed out, your license might not support adding more robots. Please contact your administrator.
5. Select the robot type `Physical`.
   → The drawer updates to display options for adding a physical robot.
   > **Info:** Adding a physical robot will only work after [successful robot commissioning](#set-up-and-connect-techman-controller).
6. Name the robot.
7. Select `Techman` as the manufacturer.
8. Enter the connection details:

   | Field | Value |
   | - | - |
   | [Controller IP](#controller-ip) | The main IP address of the Techman controller, e.g. `192.168.1.10`. This is the address configured under TMflow [Menu] → [Settings] → `System` → `Network` → `Port 0/1` → `IP Address`. |
   | [RTRS IP](#rtrs-ip) | The RTRS IP address of the Techman controller, e.g. `192.168.2.10`. This is the address configured under TMflow [Menu] → [Settings] → `Configuration` → `Remote Control Settings` → `RTRS` → `IP Address`. |
   | [TMSCT Port](#tmsct-port) | The Listen Node port. Default is `5890`. Check the **Notice Log** in TMflow when the Listen Node is active to verify the actual port. Only change this if your controller uses a different port. |

   > **Info:** All other ports (TMSVR 5891, TMRTS 5895, TMRTC 5896) use defaults and usually do not need to be specified.
9. Click on `Add`.
   → A progress indicator is displayed while the robot is being added to the cell.
   → The robot is displayed in the cell overview.

#### Enable robot motion

Before jogging or executing a planned movement, you need to press the **play button** on the robot stick (teach pendant).
This is required after every restart, mode change, or error on the control box.

If you are still in manual mode from the controller setup, consider switching to **automatic mode** to allow the robot to
move with TCP velocities larger than 250 mm/s.

> **Warning:** If the robot does not respond to motion commands from Wandelbots NOVA, check whether the play button on the robot stick has been pressed.
> The robot will not move otherwise.

#### TCPs

To use TCPs for connected physical controllers on NOVA, you need to set them up on the robot controller first.
Refer to the original [Techman](https://www.tm-robot.com/) documentation.

TCPs will then be displayed in the Setup app under the `TCPs` tab in the robot's settings and can be selected for path planning in Robot Pad.

## Troubleshooting

### Find the Techman controller's IP address

_Using the teach pendant_

1. Navigate to [Menu] → [Settings] → `System` → `Network` → `Port 0/1` →`IP Address`.\
   → The controller's main IP address is displayed.

To find the RTRS IP address:

1. Navigate to [Menu] → [Settings] → `Configuration` → `Remote Control Settings` → `RTRS` → `IP Address`.\
   → The RTRS Static IP address is displayed.

### TMSCT or motion commands are rejected

If Wandelbots NOVA cannot send script commands to the robot, ensure:

1. Press play on the Robot Stick.
2. Check the **Notice Log** to verify the server is listening and note the displayed port.
3. If the port differs from `5890`, update the TMSCT port in the robot's configuration in Wandelbots NOVA Setup.

### Connection issues

If you are experiencing connection issues or communication timeouts:

1. Verify that both network cables (main and RTRS) are connected and the IPC has IP addresses in the correct subnets.
2. Check the Ethernet Slave IP Filter settings to ensure the IPC's IP range is allowed and has write permission.
3. Ensure the controller has been restarted after enabling RTRS.

> **Info:** Wandelbots NOVA includes a real-time kernel and `robot-realtime` tuned profile by default.
> Starting with Wandelbots NOVA 26.1, the real-time kernel is included by default in all NOVA installations.
> If you're using an older version, you may need to upgrade or manually install the RT kernel.

If the issue persists, read more in the [FAQ section on robot connectivity](/nova/26.7/faq#wandelbots-nova-instance-is-physically-connected-to-the-robot-but-the-robot-is-not-moving).
