# Dobot CR Modbus Slave

Configurazione di un braccio robotico Dobot CR per il controllo remoto tramite Modbus

# 0. Introduzione

## Obiettivi della guida:

- Impostare il Dobot CR in modalità controllo remoto via Modbus

In questo modo sarà possibile, mediante Modbus, controllare con un PLC il funzionamento del Dobot CR.
Le funzioni disponibili comprendono l'avvio e l'arresto del braccio e la selezione di programmi dalla memoria del robot.

## Prerequisiti:

- Software DobotStudio Pro 2.7.1
- Dobot CR connesso al DobotStudio

# 1. Configurazione indirizzo IP

Il primo passaggio per controllare da remoto il Dobot consiste nel configurare la porta Ethernet **X3 LAN** presente sul retro del controller. L'indirizzo di default di questa porta è **192.168.5.1**.

Per evitare problemi di connettività è consigliato assegnare al controller un indirizzo statico dal pannello 
*Settings > Communication settings*

<style>
  img {
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  }
</style>

<br>
<img src="https://docs.dctrasmissioni.it/uploads/images/gallery/2025-01/scaled-1680-/dobot-cr-network-settings.png" alt="dobot-cr-network-settings.png">
<br>
<br>

L'indirizzo statico può essere ottenuto in due modi:

1. Selezionando *Get IP automatically* e impostando una reservation sul server DHCP
2. Selezionando *Set IP manually* e impostando l'indirizzo statico direttamente sul controller

Il nuovo indirizzo IP sarà disponibile a seguito di un riavvio.

⚠️ L'indirizzo **NON** può essere nelle classi **192.168.1.0/24** o **192.168.100.0/24** ⚠️

# 2. Configurazione Modbus

Per impostare il controller in modalità Modbus Slave è necessario aprire la scheda *Settings > Remote Control*
e selezionare nel campo *Current Mode* la voce **Remote Modbus**.

<style>
  img {
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  }
</style>

<br>
<img src="https://docs.dctrasmissioni.it/uploads/images/gallery/2025-01/scaled-1680-/dobot-cr-modbus-settings.png" alt="dobot-cr-modbus-settings.png">
<br>
<br>

Tramite il tasto *modify* è possibile modificare la mappatura di base del robot.

Lo script da eseguire può essere configurato nel campo *Script to run*, mentre nel caso in cui sia necessario poterne eseguire diversi in base alle condizioni riscontrate sul PLC è possibile configurarli tramite il pulsante *Advanced Settings*.

<br>
<img src="https://docs.dctrasmissioni.it/uploads/images/gallery/2025-01/dobot-cr-modbus-advanced.png" alt="dobot-cr-modbus-advanced.png">
<br>
<br>

Tramite questa scheda è possibile impostare un Holding Register tramite cui selezionare lo script da eseguire in base alla lista sottostante

Ad esempio, in questo caso, se l'Holding Register con indirizzo 3095 ha valore 1 viene eseguito lo script Prova_Handling, mentre se ha valore 2 viene eseguito lo script SCAN. Tramite i tasti +/- è possibile aggiungere o rimuovere script dall'elenco.

ℹ️ Il nuovo script selezionato verrà eseguito **solo** dopo uno *stop* ed uno *start* del robot ℹ️

⚠️ ATTENZIONE: alcuni dispositivi Modbus indicizzano i registri partendo da 0 mentre altri partendo da 1, è quindi possibile incorrere in una discrepanza tra il registro scritto/letto da PLC e quello sul robot. In questo caso è sufficiente introdurre un offset di 1 negli indirizzi dei registri per riallineare client e server ⚠️